[linux-usb-devel] Re: [PATCH] Eagle and ADI 930 usb adsl modem driver

Oliver Neukum oliver at neukum.org
Wed Nov 2 03:45:28 EST 2005


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



More information about the Usbatm mailing list