USB HCD: avoid duplicate local_irq_disable()
authorAlan Stern <stern@rowland.harvard.edu>
Wed, 21 Nov 2007 23:13:10 +0000 (15:13 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 28 Nov 2007 21:58:35 +0000 (13:58 -0800)
commitddc1fd6ac1f3ad3275e19451fb07d2eff249161c
treeb7e8512f25e22f8996dfcefbeb31ff6e7e7215e2
parent6372594ac1779261926f2f2c4ef5e79936e4faef
USB HCD: avoid duplicate local_irq_disable()

Arnd Bergmann wrote:

usb_hcd_flush_endpoint() has a retry loop that starts with a spin_lock_irq(),
but only gives up the spinlock, not the irq_disable before jumping to the
rescan label.

Alan Stern:

I agree with your sentiment, but it would be better to solve this
problem without using local_irq_disable().

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Cc: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/core/hcd.c