Re: [PATCH] xhci: State explicitly when the controller is inaccessible

From: Mathias Nyman
Date: Tue May 18 2021 - 08:19:38 EST


On 18.5.2021 14.16, Kai-Heng Feng wrote:
> Sometimes the dmesg says "Controller not ready at resume" because CNR is
> flagged. But what actually happens is that the whole USBSTS becomes
> inaccessible, and the reason could be disabled PCI I/O space or faulty
> firmware/hardware.
>
> So state the reason explicitly to make the message more clear.
>
> Signed-off-by: Kai-Heng Feng <kai.heng.feng@xxxxxxxxxxxxx>
> ---
> drivers/usb/host/xhci.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
> index ca9385d22f68..0e6fbe1f4fcc 100644
> --- a/drivers/usb/host/xhci.c
> +++ b/drivers/usb/host/xhci.c
> @@ -1117,8 +1117,9 @@ int xhci_resume(struct xhci_hcd *xhci, bool hibernated)
> retval = xhci_handshake(&xhci->op_regs->status,
> STS_CNR, 0, 10 * 1000 * 1000);
> if (retval) {
> - xhci_warn(xhci, "Controller not ready at resume %d\n",
> - retval);
> + xhci_warn(xhci, "Controller is %s at resume %d\n",
> + retval == -ENODEV ? "inaccessible" :
> + "not ready", retval);

Old way did print out retval, and was greppable.
Not sure this is an improvement

-Mathias