linux/drivers/usb/misc
Lu Baolu 868f1a4895 usb: misc: usbtest: add fix for driver hang
[ Upstream commit 5395875118 ]

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>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
History 2016-08-31 22:05:44 -04:00
..
sisusbvga USB: sisusb: add device id for Magic Control USB video 2014-08-26 12:07:46 -07:00
adutux.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
appledisplay.c USB: appledisplay: fix race between reading and writing from the device 2014-05-27 16:03:57 -07:00
cypress_cy7c63.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
cytherm.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
ehset.c usb: ehci: Add support for SINGLE_STEP_SET_FEATURE test of EHSET 2013-08-12 13:13:32 -07:00
emi26.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
emi62.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
ezusb.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
ftdi-elan.c usb: ftdi-elan: Use pr_<level> 2014-04-24 13:13:59 -07:00
idmouse.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
iowarrior.c USB: iowarrior: fix oops with malicious USB descriptors 2016-04-18 08:49:35 -04:00
isight_firmware.c Merge branch 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb 2012-01-09 12:09:47 -08:00
Kconfig USB: Add LVS Test device driver 2014-07-17 17:11:09 -07:00
ldusb.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
legousbtower.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
lvstest.c usb: rename phy to usb_phy in HCD 2014-09-29 11:52:59 -04:00
Makefile USB: Add LVS Test device driver 2014-07-17 17:11:09 -07:00
rio500.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
rio500_usb.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
trancevibrator.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
usb3503.c usb3503: clarify what the registers 'PDS' and 'CFG1' really do 2014-09-23 22:15:18 -07:00
usb_u132.h Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6 2006-12-01 16:41:58 -08:00
usblcd.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
usbled.c usb/misc/usbled: Add Riso Kagaku Webmail Notifier 2014-02-11 14:00:16 -08:00
usbsevseg.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
usbtest.c usb: misc: usbtest: add fix for driver hang 2016-08-31 22:05:44 -04:00
uss720.c USB: uss720: fix DMA-buffer allocation 2013-08-14 13:51:02 -07:00
yurex.c usb: misc: yurex: remove useless casting of private_data 2014-09-23 21:50:57 -07:00