[v3,1/1] powerpc/pseries: fix EEH recovery of some IOV devices

Michael Ellerman patch-notifications at ellerman.id.au
Wed Aug 1 15:24:17 AEST 2018


On Mon, 2018-07-30 at 01:59:14 UTC, Sam Bobroff wrote:
> EEH recovery currently fails on pSeries for some IOV capable PCI
> devices, if CONFIG_PCI_IOV is on and the hypervisor doesn't provide
> certain device tree properties for the device. (Found on an IOV
> capable device using the ipr driver.)
> 
> Recovery fails in pci_enable_resources() at the check on r->parent,
> because r->flags is set and r->parent is not.  This state is due to
> sriov_init() setting the start, end and flags members of the IOV BARs
> but the parent not being set later in
> pseries_pci_fixup_iov_resources(), because the
> "ibm,open-sriov-vf-bar-info" property is missing.
> 
> Correct this by zeroing the resource flags for IOV BARs when they
> can't be configured (this is the same method used by sriov_init() and
> __pci_read_base()).
> 
> VFs cleared this way can't be enabled later, because that requires
> another device tree property, "ibm,number-of-configurable-vfs" as well
> as support for the RTAS function "ibm_map_pes". These are all part of
> hypervisor support for IOV and it seems unlikely that a hypervisor
> would ever partially, but not fully, support it. (None are currently
> provided by QEMU/KVM.)
> 
> Signed-off-by: Sam Bobroff <sbobroff at linux.ibm.com>
> Reviewed-by: Bryant G. Ly <bryantly at linux.ibm.com>

Applied to powerpc next, thanks.

https://git.kernel.org/powerpc/c/b87b9cf4935325c98522823caeddd3

cheers


More information about the Linuxppc-dev mailing list