Re: [RFC/RFT] p54spi: Convert driver to use asynchronous firmwareloading

From: Larry Finger
Date: Sun Feb 12 2012 - 19:26:40 EST


On 02/12/2012 06:20 PM, Max Filippov wrote:
Drivers that load firmware from their probe routine have problems with the
latest versions of udev as they get timeouts while waiting for user
space to start. The problem is fixed by using request_firmware_nowait()
and delaying the start of mac80211 until the firmware is loaded.

To prevent the possibility of the driver being unloaded while the firmware
loading callback is still active, a completion queue entry is used.

Signed-off-by: Larry Finger<Larry.Finger@xxxxxxxxxxxx>
---

This conversion of p54spi to use asynchronous firmware loading is based
on the method used in p54usb. As I do not have the hardware, it is only
compile tested. I would appreciate any feedback from people that have the
hardware.

Hi, Larry.

Are there any prerequisites for this patch?
For now I'm applying it to the linux-omap ToT and having the following:

No, there are no prerequisites; however, as Michael Buesch noted, I missed the eeprom loading. This patch will not work.

I am currently testing an approach that is much simpler. Rather than using request_firmware_nowait(), I am having the probe routine start a work queue, and let that routine do a normal request_firmware(). This form of the patch is a lot less intrusive.

I hope to post a revised patch within a day.

Thanks for testing.

Larry




--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/