Subject: Re: powerpc/eeh: Fix fenced PHB caused by eeh_slot_error_detail()

From: Michael Ellerman <[email-masked]>
Date: Mon, 31 Aug 2015 07:20:40 +1000 (AEST)

On Fri, 2015-28-08 at 01:57:00 UTC, Gavin Shan wrote:
> The config space of some PCI devices can't be accessed when their
> PEs are in frozen state. Otherwise, fenced PHB might be seen.
> Those PEs are identified with flag EEH_PE_CFG_RESTRICTED, meaing
> EEH_PE_CFG_BLOCKED is set automatically when the PE is put to
> frozen state (EEH_PE_ISOLATED). eeh_slot_error_detail() restores
> PCI device BARs with eeh_pe_restore_bars(), which then calls
> eeh_ops->restore_config() to reinitialize the PCI device in
> (OPAL) firmware. eeh_ops->restore_config() produces PCI config
> access that causes fenced PHB. The problem was reported on below
> adapter:
> 
>    0001:01:00.0 0200: 14e4:168e (rev 10)
>    0001:01:00.0 Ethernet controller: Broadcom Corporation \
>                 NetXtreme II BCM57810 10 Gigabit Ethernet (rev 10)
> 
> This fixes the issue by skipping eeh_pe_restore_bars() in
> eeh_slot_error_detail() when EEH_PE_CFG_BLOCKED is set for the PE.
> 
> Fixes: b6541db1 ("powerpc/eeh: Block PCI config access upon frozen PE")
> Cc: [email-masked] # v4.0+
> Reported-by: Manvanthara B. Puttashankar <[email-masked]>
> Signed-off-by: Gavin Shan <[email-masked]>

Applied to powerpc next, thanks.

https://git.kernel.org/powerpc/c/259800135c654a098d9f0adf

cheers