From: David Daney Date: Thu, 10 May 2018 19:32:00 +0000 (+0200) Subject: PCI: Mark Cavium CN8xxx to avoid bus reset X-Git-Tag: Ubuntu-4.13.0-45.50~34 X-Git-Url: https://git.proxmox.com/?p=mirror_ubuntu-artful-kernel.git;a=commitdiff_plain;h=5aec01cbf0d88823f3d32e716ddf12b765739fc4 PCI: Mark Cavium CN8xxx to avoid bus reset Root ports of cn8xxx do not function after bus reset when used with some e1000e and LSI HBA devices. Add a quirk to prevent bus reset on these root ports. BugLink: https://launchpad.net/bugs/1770254 Signed-off-by: David Daney [jglauber@cavium.com: fixed typo and whitespaces] Signed-off-by: Jan Glauber Signed-off-by: Bjorn Helgaas Reviewed-by: Alex Williamson (cherry picked from commit 822155100e589f2a4891b3b2db2f901824d47e69) Signed-off-by: Manoj Iyer Acked-by: Kleber Sacilotto de Souza Acked-by: Khalid Elmously Signed-off-by: Kleber Sacilotto de Souza --- diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index 99eec22d99b7..9dcd5ed5a05b 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@ -3380,6 +3380,13 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATHEROS, 0x0032, quirk_no_bus_reset); DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATHEROS, 0x003c, quirk_no_bus_reset); DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATHEROS, 0x0033, quirk_no_bus_reset); +/* + * Root port on some Cavium CN8xxx chips do not successfully complete a bus + * reset when used with certain child devices. After the reset, config + * accesses to the child may fail. + */ +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_CAVIUM, 0xa100, quirk_no_bus_reset); + static void quirk_no_pm_reset(struct pci_dev *dev) { /*