usb: host: xhci: Do not re-initialize the XHCI HC if being removed
authorWesley Cheng <quic_wcheng@quicinc.com>
Wed, 31 May 2023 22:27:18 +0000 (15:27 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 23 Jun 2023 07:55:09 +0000 (09:55 +0200)
commitfb2ce17874cf3c3c183e5fd75144ffbe2313bf31
tree70e89dc2fee4e4c3fc7b7e4d3eeaca5116222a21
parent256a02e2caa3c606b84a40e8035e240beb93e67b
usb: host: xhci: Do not re-initialize the XHCI HC if being removed

During XHCI resume, if there was a host controller error detected the
routine will attempt to re-initialize the XHCI HC, so that it can return
back to an operational state.  If the XHCI host controller is being
removed, this sequence would be already handled within the XHCI halt path,
leading to a duplicate set of reg ops/calls.  In addition, since the XHCI
bus is being removed, the overhead added in restarting the HCD is
unnecessary.  Check for the XHC state before setting the reinit_xhc
parameter, which is responsible for triggering the restart.

Signed-off-by: Wesley Cheng <quic_wcheng@quicinc.com>
Message-ID: <20230531222719.14143-2-quic_wcheng@quicinc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/xhci.c