summaryrefslogtreecommitdiffstats
path: root/drivers/usb/host/isp116x-hcd.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/host/isp116x-hcd.c')
-rw-r--r--drivers/usb/host/isp116x-hcd.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/usb/host/isp116x-hcd.c b/drivers/usb/host/isp116x-hcd.c
index c2919dbc3f54..35b3507ff401 100644
--- a/drivers/usb/host/isp116x-hcd.c
+++ b/drivers/usb/host/isp116x-hcd.c
@@ -455,11 +455,10 @@ static void postproc_atl_queue(struct isp116x *isp116x)
done:
if (status != -EINPROGRESS) {
spin_lock(&urb->lock);
- if (urb->status == -EINPROGRESS)
- urb->status = status;
+ urb->status = status;
spin_unlock(&urb->lock);
}
- if (urb->status != -EINPROGRESS)
+ if (urb->status != -EINPROGRESS || urb->unlinked)
finish_request(isp116x, ep, urb);
}
}