Re: loading firmware while usermodehelper disabled.

Jack Stone
2012-01-02T20:55:12Z

On 02/01/12 20:48, Linus Torvalds wrote:
> On Mon, Jan 2, 2012 at 12:41 PM, Jack Stone <jwjstone@fastmail.fm> wrote:
>>
>> What about the case where the firmware that needs to be loaded is on the
>> USB device that needs the firmware. This can be resolved at boot using
>> an initrd but at resume time we don't have that.
>
> Quite frankly, caching the firmware will just automagically fix this.
>
> I don't understand why people even bother to talk about USB ID's etc
> changing - that is totally irrelevant. We don't look up firmware by
> USB ID's anyway.

I agree. The only problem I can see is with the lifetime of the
firmware. If we have a generic USB driver that looks after (for example)
all USB disks then we do not want to add the knowedge to it for each
individual vendors firmware.

For example:

1/ Plug in device, registers as a bootstrap device
2/ Load firmware into device (and put firmware in cache)
3/ Device disconnects and reconnects with new USB id
4/ Generic driver takes over as it recognizes the new id

The problem comes with knowing when to put the firmware - how do we tell
the generic driver that that device has firmware that might need to be
freed on disconnect. I don't know enough about USB to know if we can
tell if the same device has reconnected due to firmware being loaded or
if it was simply unplugged and a new device plugged in.

Hope this makes sense,

Jack