![]() In sg_timeout(), req->status is set to "-ETIMEDOUT" before calling into usb_sg_cancel(). usb_sg_cancel() will do nothing and return directly if req->status has been set to a non-zero value. This will cause driver hang whenever transfer time out is triggered. This patch fixes this issue. It could be backported to stable kernel with version later than v3.15. Cc: stable@vger.kernel.org # 3.15+ Cc: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com> Suggested-by: Alan Stern <stern@rowland.harvard.edu> Acked-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
||
---|---|---|
.. | ||
sisusbvga | ||
adutux.c | ||
appledisplay.c | ||
chaoskey.c | ||
cypress_cy7c63.c | ||
cytherm.c | ||
ehset.c | ||
emi26.c | ||
emi62.c | ||
ezusb.c | ||
ftdi-elan.c | ||
idmouse.c | ||
iowarrior.c | ||
isight_firmware.c | ||
Kconfig | ||
ldusb.c | ||
legousbtower.c | ||
lvstest.c | ||
Makefile | ||
rio500.c | ||
rio500_usb.h | ||
trancevibrator.c | ||
ucsi.c | ||
ucsi.h | ||
usb3503.c | ||
usb_u132.h | ||
usblcd.c | ||
usbsevseg.c | ||
usbtest.c | ||
uss720.c | ||
yurex.c |