]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
UBUNTU: SAUCE: (no-up) PCI: fix system hang issue of Marvell SATA host controller
authorXiangliang Yu <yuxiangl@marvell.com>
Thu, 7 Mar 2013 14:29:16 +0000 (14:29 +0000)
committerAndrea Righi <andrea.righi@canonical.com>
Thu, 9 Mar 2023 14:57:10 +0000 (15:57 +0100)
BugLink: http://bugs.launchpad.net/bugs/1159863
Hassle someone if this patch hasn't been removed by 13.10.
See https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1159863/comments/2

Fix system hang issue: if first accessed resource file of BAR0 ~
BAR4, system will hang after executing lspci command

Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
drivers/pci/quirks.c

index 285acc4aaccc1e3f9cae1190ab09a19fb6eb5853..38dededc1163935f200b78b814caff680f5b5aef 100644 (file)
@@ -207,6 +207,21 @@ static void quirk_mmio_always_on(struct pci_dev *dev)
 DECLARE_PCI_FIXUP_CLASS_EARLY(PCI_ANY_ID, PCI_ANY_ID,
                                PCI_CLASS_BRIDGE_HOST, 8, quirk_mmio_always_on);
 
+/* The BAR0 ~ BAR4 of Marvell 9125 device can't be accessed
+*  by IO resource file, and need to skip the files
+*/
+static void quirk_marvell_mask_bar(struct pci_dev *dev)
+{
+       int i;
+
+       for (i = 0; i < 5; i++)
+               if (dev->resource[i].start)
+                       dev->resource[i].start =
+                               dev->resource[i].end = 0;
+}
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MARVELL_EXT, 0x9125,
+                               quirk_marvell_mask_bar);
+
 /*
  * The Mellanox Tavor device gives false positive parity errors.  Disable
  * parity error reporting.