On Fri, Dec 01, 2006 at 10:33:05PM +0100, Oliver Neukum wrote:
> Am Freitag, 1. Dezember 2006 22:18 schrieb Greg KH:
> > On Fri, Dec 01, 2006 at 01:37:22PM -0700, David Lopez wrote:
> > > From: David Lopez <[EMAIL PROTECTED]>
> 
> > > +/* Private defines */
> > > +#define MAX_TRANSFER                     ( PAGE_SIZE - 512 )
> > 
> > Any specific reason for this size limit?
> 
> It is taken from the skeleton driver. It prevents multi order allocations.
> 512 is the maximum packet size of UHCI.
> 
> 
> > > + /* free up our allocated buffer */
> > > + usb_buffer_free(urb->dev, urb->transfer_buffer_length,
> > > +                 urb->transfer_buffer, urb->transfer_dma);
> > > + up(&dev->sem);
> > 
> > You hold the semaphore over the urb lifecycle?  Why?  That seems a bit
> > "odd".
> 
> Again taken from the skeleton driver. The number of URBs in flight must
> be limited or you have a DoS security problem.

Ah, ok, it's been a while since I've looked at that driver :)

> > Or is this a bug?
> > 
> > Can't that semaphore be a mutex instead?
> 
> Being upped from a completion handler, it can't be.

Hm, I thought we could do that from interrupt context with mutexes, but
you are correct.

Nevermind :)

thanks,

greg k-h

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to