Re: [PATCH] xhci: Do warm-reset when both CAS and XDEV_RESUME are set

From: Mathias Nyman
Date: Tue Aug 11 2020 - 04:49:24 EST


On 10.8.2020 17.07, Kai-Heng Feng wrote:
> Sometimes re-plugging a USB device during system sleep renders the device
> useless:
> [ 173.418345] xhci_hcd 0000:00:14.0: Get port status 2-4 read: 0x14203e2, return 0x10262
> ...
> [ 176.496485] usb 2-4: Waited 2000ms for CONNECT
> [ 176.496781] usb usb2-port4: status 0000.0262 after resume, -19
> [ 176.497103] usb 2-4: can't resume, status -19
> [ 176.497438] usb usb2-port4: logical disconnect
>
> Because PLS equals to XDEV_RESUME, xHCI driver reports U3 to usbcore,
> despite of CAS bit is flagged.
>
> So proritize CAS over XDEV_RESUME to let usbcore handle warm-reset for
> the port.
>
> Signed-off-by: Kai-Heng Feng <kai.heng.feng@xxxxxxxxxxxxx>
> ---

Thanks, nice catch.
Adding to queue

-Mathias