Re: [linux-usb-devel] USB HCD: avoid duplicate local_irq_disable()

2007-10-27 Thread Alan Stern
On Thu, 25 Oct 2007, Greg KH wrote: > On Tue, Oct 23, 2007 at 12:01:37AM -0400, Alan Stern wrote: > > On Tue, 23 Oct 2007, 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

Re: [linux-usb-devel] USB HCD: avoid duplicate local_irq_disable()

2007-10-25 Thread Greg KH
On Tue, Oct 23, 2007 at 12:01:37AM -0400, Alan Stern wrote: > On Tue, 23 Oct 2007, 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. > > > >

Re: [linux-usb-devel] USB HCD: avoid duplicate local_irq_disable()

2007-10-22 Thread Alan Stern
On Tue, 23 Oct 2007, 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. > > Split the spin_lock_irq into the retryable part and the local_irq_disable() > t

USB HCD: avoid duplicate local_irq_disable()

2007-10-22 Thread Arnd Bergmann
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. Split the spin_lock_irq into the retryable part and the local_irq_disable() that is only done once as a micro-optimization and sligh