diff mbox

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

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

Commit Message

Tim Gardner Jan. 13, 2016, 7:31 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
---
 arch/powerpc/platforms/powernv/eeh-powernv.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

Comments

Stefan Bader Jan. 14, 2016, 11:16 a.m. UTC | #1

Brad Figg Jan. 14, 2016, 11:16 a.m. UTC | #2
On Wed, Jan 13, 2016 at 12:31:49PM -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
> ---
>  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..14291eb 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 ((pdn->vendor_id == PCI_VENDOR_ID_BROADCOM &&
> +	     pdn->device_id == 0x1657) ||
> +	    (pdn->vendor_id == PCI_VENDOR_ID_BROADCOM &&
> +	     pdn->device_id == 0x168a) ||
> +	    (pdn->vendor_id == PCI_VENDOR_ID_BROADCOM &&
> +	     pdn->device_id == 0x168e))
>  		edev->pe->state |= EEH_PE_CFG_RESTRICTED;
>  
>  	/*
> -- 
> 1.9.1
> 
> 
> -- 
> kernel-team mailing list
> kernel-team@lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team

Looks like a valid backport.
Kamal Mostafa Jan. 14, 2016, 6:30 p.m. UTC | #3

diff mbox

Patch

diff --git a/arch/powerpc/platforms/powernv/eeh-powernv.c b/arch/powerpc/platforms/powernv/eeh-powernv.c
index e261869..14291eb 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 ((pdn->vendor_id == PCI_VENDOR_ID_BROADCOM &&
+	     pdn->device_id == 0x1657) ||
+	    (pdn->vendor_id == PCI_VENDOR_ID_BROADCOM &&
+	     pdn->device_id == 0x168a) ||
+	    (pdn->vendor_id == PCI_VENDOR_ID_BROADCOM &&
+	     pdn->device_id == 0x168e))
 		edev->pe->state |= EEH_PE_CFG_RESTRICTED;
 
 	/*