scsi: mpt3sas: Don't modify EEDPTagMode field setting on SAS3.5 HBA devices
authorSuganath Prabu <suganath-prabu.subramani@broadcom.com>
Wed, 31 Oct 2018 13:23:37 +0000 (18:53 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 1 Dec 2019 08:17:24 +0000 (09:17 +0100)
[ Upstream commit 6cd1bc7b9b5075d395ba0120923903873fc7ea0e ]

If EEDPTagMode field in manufacturing page11 is set then unset it. This is
needed to fix a hardware bug only in SAS3/SAS2 cards. So, skipping
EEDPTagMode changes in Manufacturing page11 for SAS 3.5 controllers.

Signed-off-by: Suganath Prabu <suganath-prabu.subramani@broadcom.com>
Reviewed-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/scsi/mpt3sas/mpt3sas_base.c

index d2ab520..2c556c7 100644 (file)
@@ -4117,7 +4117,7 @@ _base_static_config_pages(struct MPT3SAS_ADAPTER *ioc)
         * flag unset in NVDATA.
         */
        mpt3sas_config_get_manufacturing_pg11(ioc, &mpi_reply, &ioc->manu_pg11);
-       if (ioc->manu_pg11.EEDPTagMode == 0) {
+       if (!ioc->is_gen35_ioc && ioc->manu_pg11.EEDPTagMode == 0) {
                pr_err("%s: overriding NVDATA EEDPTagMode setting\n",
                    ioc->name);
                ioc->manu_pg11.EEDPTagMode &= ~0x3;