[PATCH v2 1/1] usb: xhci: fix return value of xhci_setup_device()
From: Lu Baolu
Date: Wed Sep 07 2016 - 20:42:24 EST
xhci_setup_device() should return failure with correct error number
when xhci host has died, removed or halted.
Cc: stable@xxxxxxxxxxxxxxx # 4.3+
Signed-off-by: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx>
---
v1->v2:
- fix email mismatch issue
drivers/usb/host/xhci.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
index 01d96c9..3e66e73 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -3785,8 +3785,10 @@ static int xhci_setup_device(struct usb_hcd *hcd, struct usb_device *udev,
mutex_lock(&xhci->mutex);
- if (xhci->xhc_state) /* dying, removing or halted */
+ if (xhci->xhc_state) { /* dying, removing or halted */
+ ret = -ESHUTDOWN;
goto out;
+ }
if (!udev->slot_id) {
xhci_dbg_trace(xhci, trace_xhci_dbg_address,
--
2.1.4