diff mbox

[Vivid,SRU,v2] powerpc/eeh: Fix recursive fenced PHB on Broadcom shiner adapter

Message ID 1453322934-14459-1-git-send-email-tim.gardner@canonical.com
State New
Headers show

Commit Message

Tim Gardner Jan. 20, 2016, 8:48 p.m. UTC
From: Gavin Shan <gwshan@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@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
(back ported from commit 353169acf1858bb2dc3f91475dafabce547de14c)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>

Conflicts:
	arch/powerpc/platforms/powernv/eeh-powernv.c
Acked-by: Brad Figg <brad.figg@canonical.com>
Acked-by: Stefan Bader <stefan.bader@canonical.com>
Signed-off-by: Kamal Mostafa <kamal@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(-)

Comments

Kamal Mostafa Jan. 20, 2016, 9:02 p.m. UTC | #1
On Wed, 2016-01-20 at 13:48 -0700, tim.gardner@canonical.com wrote:
> From: Gavin Shan <gwshan@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@linux.vnet.ibm.com>
> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
> (back ported from commit 353169acf1858bb2dc3f91475dafabce547de14c)
> Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
> 
> Conflicts:
> 	arch/powerpc/platforms/powernv/eeh-powernv.c
> Acked-by: Brad Figg <brad.figg@canonical.com>
> Acked-by: Stefan Bader <stefan.bader@canonical.com>
> Signed-off-by: Kamal Mostafa <kamal@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
diff mbox

Patch

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;
 
 	/*