[PATCH v2 0/2] Wait for device readiness after D3hot -> D0uninitialized transition

Bjorn Helgaas posted 2 patches 6 days, 8 hours ago
drivers/pci/pci.c | 28 ++++++++++++++++++++++++----
1 file changed, 24 insertions(+), 4 deletions(-)
[PATCH v2 0/2] Wait for device readiness after D3hot -> D0uninitialized transition
Posted by Bjorn Helgaas 6 days, 8 hours ago
In pci_power_up(), wait for device to become ready after a soft reset
(D3hot->D0uninitialized transition).  We already wait 10 ms, but even after
that, the device is permitted to respond to config requests with Request
Retry Status (RRS) completion status.  Use pci_dev_wait() to wait for
successful completion.

Bjorn Helgaas (2):
  PCI: Log device readiness timeouts as errors
  PCI: Wait for device readiness after D3hot -> D0uninitialized
    transition

 drivers/pci/pci.c | 28 ++++++++++++++++++++++++----
 1 file changed, 24 insertions(+), 4 deletions(-)


Changes since v1:
  - Log device readiness timeouts as errors, not warnings
  - On timeout, set dev->current_state to D3cold and return -EIO

v1: https://lore.kernel.org/all/20260514153124.404060-1-bhelgaas@google.com/
Re: [PATCH v2 0/2] Wait for device readiness after D3hot -> D0uninitialized transition
Posted by Bjorn Helgaas 2 days, 5 hours ago
On Mon, May 18, 2026 at 02:12:17PM -0500, Bjorn Helgaas wrote:
> In pci_power_up(), wait for device to become ready after a soft reset
> (D3hot->D0uninitialized transition).  We already wait 10 ms, but even after
> that, the device is permitted to respond to config requests with Request
> Retry Status (RRS) completion status.  Use pci_dev_wait() to wait for
> successful completion.
> 
> Bjorn Helgaas (2):
>   PCI: Log device readiness timeouts as errors
>   PCI: Wait for device readiness after D3hot -> D0uninitialized
>     transition
> 
>  drivers/pci/pci.c | 28 ++++++++++++++++++++++++----
>  1 file changed, 24 insertions(+), 4 deletions(-)
> 
> 
> Changes since v1:
>   - Log device readiness timeouts as errors, not warnings
>   - On timeout, set dev->current_state to D3cold and return -EIO
> 
> v1: https://lore.kernel.org/all/20260514153124.404060-1-bhelgaas@google.com/

I applied these to pci/reset for v7.2.
Re: [PATCH v2 0/2] Wait for device readiness after D3hot -> D0uninitialized transition
Posted by Rafael J. Wysocki 6 days, 8 hours ago
On Mon, May 18, 2026 at 9:12 PM Bjorn Helgaas <helgaas@kernel.org> wrote:
>
> In pci_power_up(), wait for device to become ready after a soft reset
> (D3hot->D0uninitialized transition).  We already wait 10 ms, but even after
> that, the device is permitted to respond to config requests with Request
> Retry Status (RRS) completion status.  Use pci_dev_wait() to wait for
> successful completion.
>
> Bjorn Helgaas (2):
>   PCI: Log device readiness timeouts as errors
>   PCI: Wait for device readiness after D3hot -> D0uninitialized
>     transition
>
>  drivers/pci/pci.c | 28 ++++++++++++++++++++++++----
>  1 file changed, 24 insertions(+), 4 deletions(-)
>
>
> Changes since v1:
>   - Log device readiness timeouts as errors, not warnings
>   - On timeout, set dev->current_state to D3cold and return -EIO
>
> v1: https://lore.kernel.org/all/20260514153124.404060-1-bhelgaas@google.com/

For the series:

Reviewed-by: Rafael J. Wysocki (Intel) <rafael@kernel.org>