linux/drivers/usb/core
Oliver Neukum 8f021777cd usb: retry reset if a device times out
[ Upstream commit 264904ccc3 ]

Some devices I got show an inability to operate right after
power on if they are already connected. They are beyond recovery
if the descriptors are requested multiple times. So in case of
a timeout we rather bail early and reset again. But it must be
done only on the first loop lest we get into a reset/time out
spiral that can be overcome with a retry.

This patch is a rework of a patch that fell through the cracks.
http://www.spinics.net/lists/linux-usb/msg103263.html

Signed-off-by: Oliver Neukum <oneukum@suse.com>
CC: stable@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
History 2016-04-12 09:11:32 -04:00
..
buffer.c usb: core: buffer: smallest buffer should start at ARCH_DMA_MINALIGN 2015-03-06 14:53:00 -08:00
config.c usb: Use the USB_SS_MULT() macro to decode burst multiplier for log message 2016-01-22 12:24:47 -05:00
devices.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2013-02-26 20:16:07 -08:00
devio.c USB: usbfs: allow URBs to be reaped after disconnection 2015-08-04 14:38:38 -04:00
driver.c USB: add flag for HCDs that can't receive wakeup requests (isp1760-hcd) 2015-03-06 14:53:00 -08:00
endpoint.c USB: core: be specific about attribute permissions 2013-08-25 15:12:03 -07:00
file.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2013-11-13 15:34:18 +09:00
generic.c staging: usbip: convert usbip-host driver to usb_device_driver 2014-02-07 10:54:30 -08:00
hcd-pci.c USB: core: hcd-pci: free IRQ before disabling PCI device when shutting down 2014-07-22 16:30:58 -07:00
hcd.c USB: fix use-after-free bug in usb_hcd_unlink_urb() 2015-03-06 14:53:00 -08:00
hub.c usb: retry reset if a device times out 2016-04-12 09:11:32 -04:00
hub.h usb: hub: convert khubd into workqueue 2014-09-23 22:33:19 -07:00
Kconfig usb: core: Kconfig: TPL should apply for both OTG and EH 2014-09-23 21:28:41 -07:00
Makefile USB: core: remove CONFIG_USB_DEBUG usage 2013-12-21 16:01:00 -08:00
message.c USB: don't cancel queued resets when unbinding drivers 2015-03-06 14:53:00 -08:00
notify.c usb: Add export.h for EXPORT_SYMBOL/THIS_MODULE where needed 2011-10-31 19:31:25 -04:00
otg_whitelist.h USB: Add OTG PET device to TPL 2015-02-05 22:36:04 -08:00
port.c usb: force warm reset to break link re-connect livelock 2014-07-09 15:43:12 -07:00
quirks.c USB: add quirk for devices with broken LPM 2016-01-22 12:24:44 -05:00
sysfs.c USB: core: correct spelling mistakes in comments and warning 2014-01-07 16:17:40 -08:00
urb.c usb: core: allow zero packet flag for interrupt urbs 2014-07-22 16:30:58 -07:00
usb-acpi.c usb: find internal hub tier mismatch via acpi 2014-05-27 16:38:52 -07:00
usb.c usb: core: buffer: smallest buffer should start at ARCH_DMA_MINALIGN 2015-03-06 14:53:00 -08:00
usb.h usb: hub: rename usb_kick_khubd() to usb_kick_hub_wq() 2014-09-23 22:33:19 -07:00