Applied: [PATCH Vivid SRU v2] powerpc/eeh: Fix recursive fenced PHB on Broadcom shiner adapter
Kamal Mostafa
kamal at canonical.com
Wed Jan 20 21:02:00 UTC 2016
On Wed, 2016-01-20 at 13:48 -0700, tim.gardner at canonical.com wrote:
> From: Gavin Shan <gwshan at linux.vnet.ibm.com>
>
> BugLink: http://bugs.launchpad.net/bugs/1532942
>
> Similar to commit b6541db ("powerpc/eeh: Block PCI config access
> upon frozen PE"), this blocks the PCI config space of Broadcom
> Shiner adapter until PE reset is completed, to avoid recursive
> fenced PHB when dumping PCI config registers during the period
> of error recovery.
>
> ~# lspci -ns 0003:03:00.0
> 0003:03:00.0 0200: 14e4:168a (rev 10)
> ~# lspci -s 0003:03:00.0
> 0003:03:00.0 Ethernet controller: Broadcom Corporation \
> NetXtreme II BCM57800 1/10 Gigabit Ethernet (rev 10)
>
> Signed-off-by: Gavin Shan <gwshan at linux.vnet.ibm.com>
> Signed-off-by: Michael Ellerman <mpe at ellerman.id.au>
> (back ported from commit 353169acf1858bb2dc3f91475dafabce547de14c)
> Signed-off-by: Tim Gardner <tim.gardner at canonical.com>
>
> Conflicts:
> arch/powerpc/platforms/powernv/eeh-powernv.c
> Acked-by: Brad Figg <brad.figg at canonical.com>
> Acked-by: Stefan Bader <stefan.bader at canonical.com>
> Signed-off-by: Kamal Mostafa <kamal at canonical.com>
> ---
>
> This is a replacement patch since the first back port didn't compile. Oops.
>
> arch/powerpc/platforms/powernv/eeh-powernv.c | 9 +++++++--
> 1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/arch/powerpc/platforms/powernv/eeh-powernv.c b/arch/powerpc/platforms/powernv/eeh-powernv.c
> index e261869..17affaf 100644
> --- a/arch/powerpc/platforms/powernv/eeh-powernv.c
> +++ b/arch/powerpc/platforms/powernv/eeh-powernv.c
> @@ -193,10 +193,15 @@ static int powernv_eeh_dev_probe(struct pci_dev *dev, void *flag)
> * that PE to block its config space.
> *
> * Broadcom Austin 4-ports NICs (14e4:1657)
> + * Broadcom Shiner 4-ports 1G NICs (14e4:168a)
> * Broadcom Shiner 2-ports 10G NICs (14e4:168e)
> */
> - if ((dev->vendor == PCI_VENDOR_ID_BROADCOM && dev->device == 0x1657) ||
> - (dev->vendor == PCI_VENDOR_ID_BROADCOM && dev->device == 0x168e))
> + if ((dev->vendor == PCI_VENDOR_ID_BROADCOM &&
> + dev->device == 0x1657) ||
> + (dev->vendor == PCI_VENDOR_ID_BROADCOM &&
> + dev->device == 0x168a) ||
> + (dev->vendor == PCI_VENDOR_ID_BROADCOM &&
> + dev->device == 0x168e))
> edev->pe->state |= EEH_PE_CFG_RESTRICTED;
>
> /*
> --
> 1.9.1
>
>
(Replaced the first backport of this in vivid/master-next)
-Kamal
More information about the kernel-team
mailing list