On Mon, Jul 02, 2018 at 10:59:24AM +1000, Michael Ellerman wrote: > Sam Bobroff <sbobroff@xxxxxxxxxxxxx> writes: > > > 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. > > > > Signed-off-by: Sam Bobroff <sbobroff@xxxxxxxxxxxxx> > > --- > > Hi, > > > > This is a fix to allow EEH recovery to succeed in a specific situation, > > which I've tried to explain in the commit message. > > > > As with the RFC version, the IOV BARs are disabled by setting the resource > > flags to 0 but the other fields are now left as-is because that is what is done > > elsewhere (see sriov_init() and __pci_read_base()). > > > > I've also examined the concern raised by Bjorn Helgaas, that VFs could be > > enabled later after the BARs are disabled, and it already seems safe: enabling > > VFs (on pseries) depends on another device tree property, > > "ibm,number-of-configurable-vfs" as well as support for the RTAS function > > "ibm_map_pes". Since these are all part of the hypervisor's support for IOV it > > seems unlikely that we would ever see some of them but not all. (None are > > currently provided by QEMU/KVM.) (Additionally, the ipr driver on which the EEH > > recovery failure was discovered doesn't even seem to have SR-IOV support so it > > certainly can't enable VFs.) > > Can you fold/reword the above into the change log, it seems like useful > detail. > > cheers Sure, sounds good.
Attachment:
signature.asc
Description: PGP signature