Re: New USB stack on FreeBSD w/Linux emulation layer coming

Pete Zaitcev <[email protected]>
Newsgroups gmane.linux.usb.devel
Organization Red Hat, Inc.
Message-ID <[email protected]>
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/
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.