[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