diff mbox

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

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

Commit Message

Tim Gardner Jan. 13, 2016, 7:32 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>
(cherry picked from commit 353169acf1858bb2dc3f91475dafabce547de14c)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
---
 arch/powerpc/platforms/powernv/eeh-powernv.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Brad Figg Jan. 14, 2016, 11:10 a.m. UTC | #1
On Wed, Jan 13, 2016 at 12:32:29PM -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>
> (cherry picked from commit 353169acf1858bb2dc3f91475dafabce547de14c)
> Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
> ---
>  arch/powerpc/platforms/powernv/eeh-powernv.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/arch/powerpc/platforms/powernv/eeh-powernv.c b/arch/powerpc/platforms/powernv/eeh-powernv.c
> index 7cf0df8..d01a0c1 100644
> --- a/arch/powerpc/platforms/powernv/eeh-powernv.c
> +++ b/arch/powerpc/platforms/powernv/eeh-powernv.c
> @@ -443,11 +443,14 @@ static void *pnv_eeh_probe(struct pci_dn *pdn, void *data)
>  	 * 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 ((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

Clean cherry-pick.
Stefan Bader Jan. 14, 2016, 11:16 a.m. UTC | #2

Kamal Mostafa Jan. 14, 2016, 6:18 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 7cf0df8..d01a0c1 100644
--- a/arch/powerpc/platforms/powernv/eeh-powernv.c
+++ b/arch/powerpc/platforms/powernv/eeh-powernv.c
@@ -443,11 +443,14 @@  static void *pnv_eeh_probe(struct pci_dn *pdn, void *data)
 	 * 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 ((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;