On Thu, Apr 26, 2018 at 04:34:50PM -0400, Sinan Kaya wrote: > Hi Greg, > > Upstream commit 821cdad5c46c ("PCI: Wait up to 60 seconds for > device to become ready after FLR") fixes a virtualization issue > for Intel 750 NVMe drive and potentially other PCIe devices taking > longer to recover from functional resets. > > problem description below from the commit: > > 'Sporadic reset issues have been observed with an Intel 750 NVMe drive while > assigning the physical function to the guest machine. The sequence of > events observed is as follows: > > - perform a Function Level Reset (FLR) > - sleep up to 1000ms total > - read ~0 from PCI_COMMAND (CRS completion for config read) > - warn that the device didn't return from FLR > - touch the device before it's ready > - device drops config writes when we restore register settings (there's > no mechanism for software to learn about CRS completions for writes) > - incomplete register restore leaves device in inconsistent state > - device probe fails because device is in inconsistent state > > After reset, an endpoint may respond to config requests with Configuration > Request Retry Status (CRS) to indicate that it is not ready to accept new > requests. See PCIe r3.1, sec 2.3.1 and 6.6.2.' > > Please apply commit 821cdad5c46c to fix the resulting regression. Looks good, but it's not really a "regression" as it didn't work at all before this patch :) Now queued up. greg k-h