summaryrefslogtreecommitdiff
path: root/drivers/usb/host/ohci-hcd.c
diff options
context:
space:
mode:
authorTakamasa Ohtake <ohtake-txa@necst.nec.co.jp>2006-12-06 17:04:15 -0800
committerGreg Kroah-Hartman <gregkh@suse.de>2006-12-20 10:14:27 -0800
commit23d10a9e376d6a9cd4afd4e27e5e403864f6729b (patch)
treeed13d347496c39fc25a0688385b83e1f0b17a302 /drivers/usb/host/ohci-hcd.c
parentee269d98a9248fbb729c20ffda0f1b97e82c5c37 (diff)
USB: ohci handles hardware faults during root port resets
I have found a problem where the root_port_reset() goes into an infinite loop and stalls the kernel. This happens when a hardware fault inside the machine occurs during a small timing window. In case of USB device connection, if a USB device responds to hcd_submit_urb(), and later the controller fails before root_port_reset(), root_port_reset() will loop infinitely because ohci_readl() will always return "-1". Such a failure can include ejecting a CardBus OHCI controller. The probability of this problem is low, but it will increase if PnP type usage is frequent. The attached patch can solve this problem and I believe that it is better to fix this problem. Signed-off-by: Takamasa Ohtake <ohtake-txa@necst.nec.co.jp> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/host/ohci-hcd.c')
0 files changed, 0 insertions, 0 deletions