On Thu, 17 May 2007 17:37:22 -0700, David Brownell <[EMAIL PROTECTED]> wrote:

> > > > > As it happens, USB callbacks cannot be interrupted.  That's a 
> > > > > somewhat 
> > > > > artificial restriction; in theory there's no reason we couldn't allow 
> > > > > interrupts.
> > > > 
> > > > Do you remember why we're doing this? I did not touch that part since
> > > > the attempt to keep usb->lock across the callback (read: years back).

>[...]
> > I understand the points a-c above. The question is, why do we do
> > local_irq_save across the URB callback? It seems to be completely
> > non-functional.
> 
> Where is that done?  The HCDs just seem to call usb_hcd_giveback_urb()
> after dropping their internal spinlock (except the u132 one, which has
> always been kind of dubious and acts unmaintained).  And that routine
> doesn't do a local_irq_save.

Absolutely right, I'm being an idiot here. I think I looked at root
hub code in the rush to the FreedomHEC preparations. We do not have
local_irq_save in the giveback routine. So, when Alan wrote "USB
callbacks cannot be interrupted", he meant normal no-reentrancy
guarantees, and not that the interrupts are disabled.

-- Pete

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to