Am Mittwoch, 2. November 2005 09:03 schrieb Greg KH: > On Wed, Nov 02, 2005 at 08:54:22AM +0100, Duncan Sands wrote: > > > > + * sometime hotplug don't have time to give the firmware the > > > > + * first time, retry it. > > > > + */ > > > > +static int sleepy_request_firmware(const struct firmware **fw, > > > > + const char *name, struct device *dev) > > > > +{ > > > > + if (request_firmware(fw, name, dev) == 0) > > > > + return 0; > > > > + msleep(1000); > > > > + return request_firmware(fw, name, dev); > > > > +} > > > > > > No, use the async firmware download mode instead of this. That will > > > solve all of your problems. > > > > Hi Greg, it looks like you understand what the problem is here. Could > > you please explain to us lesser mortals ;) > > If you use the async mode, there is no timeout. When userspace gets > around to giving you the firmware, then you continue on with the rest of > your device initialization (don't block the usb probe function though.)
How would you handle errors in setting up the device? A driver cannot reject a device after probe, yet you need to handle errors appearing only after the firmware is in the device. Regards Oliver ------------------------------------------------------- SF.Net email is sponsored by: Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42" plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel