[PATCH v2 1/1] PCI/VPD: Fix blocking of VPD data in lspci for QLogic 1077:2261

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



"lspci -vvv" for Qlogic Fibre Channel HBA 1077:2261 displays
"Vital Product Data" as "Not readable" today and thus preventing
customers from getting relevant HBA information. Fix it by removing
the blacklist quirk.

The VPD quirk was added by [0] to avoid a system NMI; this issue has
been long fixed in the HBA firmware. In addition, PCI also has changes
to check the VPD size [1], so this quirk can be reverted now regardless
of a firmware update.

Some more details can be found in the following thread:
    "VPD blacklist of Marvell QLogic 1077/2261" [2]

[0] 0d5370d1d852 ("PCI: Prevent VPD access for QLogic ISP2722")
[1] 104daa71b396 ("PCI: Determine actual VPD size on first access")
[2] https://lore.kernel.org/linux-pci/alpine.LRH.2.21.9999.2012161641230.28924@xxxxxxxxxxxxxxxxxxxxxxxxxxxx/
[3] https://lore.kernel.org/linux-pci/alpine.LRH.2.21.9999.2104071535110.13940@xxxxxxxxxxxxxxxxxxxxxxxxxxxx/

Clarification on why [0], which appeared in v4.11, would be an issue
given that [1] appeared in v4.6:

    Firstly, we do not have information on which exact kernel the
    tester was using that resulted in [0]. That said, the call
    trace for the issue had pci_vpd_pci22_* calls, which appeared
    only in pre-4.6 kernels. Those functions were renamed v4.6 and
    above, so tester was indeed testing using an older kernel.
    See [3] for further details.

Signed-off-by: Arun Easi <aeasi@xxxxxxxxxxx>
CC: stable@xxxxxxxxxxxxxxx      # v4.6+
---
 drivers/pci/vpd.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/pci/vpd.c b/drivers/pci/vpd.c
index 6909253..a41818a 100644
--- a/drivers/pci/vpd.c
+++ b/drivers/pci/vpd.c
@@ -474,7 +474,6 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_LSI_LOGIC, 0x005d, quirk_blacklist_vpd);
 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_LSI_LOGIC, 0x005f, quirk_blacklist_vpd);
 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATTANSIC, PCI_ANY_ID,
 		quirk_blacklist_vpd);
-DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_QLOGIC, 0x2261, quirk_blacklist_vpd);
 /*
  * The Amazon Annapurna Labs 0x0031 device id is reused for other non Root Port
  * device types, so the quirk is registered for the PCI_CLASS_BRIDGE_PCI class.
-- 
2.9.5




[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux