Hi Duncan,

> > > So to my mind the importance of this patch is in improving correctness 
> > > (lack of
> > > deadlocks) and responsiveness (newly plugged USB devices turn up at once, 
> > > even
> > > if some other device is doing a long wait in its probe method), rather 
> > > than
> > > performance.
> > 
> > Would it be better to change the drivers so that they _don't_ wait a long 
> > time in their probe methods?  For example, usb-storage starts up a 
> > separate thread to take care of potentially long-lasting I/O during 
> > probing.  Other drivers could do the same thing, or could use 
> > schedule_work().
> 
> The speedtouch driver does too (though it adds an annoying amount of 
> complexity
> which I would rather have the usb core take care of).  Here are some USB 
> drivers
> which load firmware in their probe method:
> 
>       drivers/bluetooth/bfusb.c
>       drivers/bluetooth/bcm203x.c
>       drivers/net/wireless/zd1211rw/zd_usb.c
>       drivers/net/wireless/zd1201.c
>       drivers/net/irda/irda-usb.c
>       drivers/media/dvb/ttusb-dec/ttusb_dec.c
> 
> Interestingly enough, I didn't find any examples under drivers/usb.

I personally think that loading firmware in the probe routine is okay
and I fully agree with you that the less complexity in the driver the
better. Loading the firmware will almost always have to block since the
device can't be used before the firmware loading has been finished.

Regards

Marcel



-------------------------------------------------------------------------
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
_______________________________________________
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