Re: in-kernel drivers and firmware loader

From: Kay Sievers
Date: Fri May 11 2012 - 07:03:47 EST


On Fri, May 11, 2012 at 12:55 PM, Arend van Spriel <arend@xxxxxxxxxxxx> wrote:
> To my memory (which fails from time to time) you posted a message on
> using the asynchronous API for firmware loading as some drivers were
> blocking on it in the module initialization. So for our driver we
> decoupled the initialization from probe and subsequently the firmware
> request. Assuming this solves the udev issue, but I am currently looking
> into a somewhat related issue with our driver built-in.
>
> I am testing on a PandaBoard which boots a linux kernel without a initrd
> and our device is detected before the root filesystem is mounted. I was
> expecting the async firmware request to get called back immediatly with
> firmware pointer being NULL. The behaviour is slightly different as this
> callback is coming after 60 seconds, which is the timeout. I guess the
> uevent just gets lost without the kernel knowing it. Is that correct?

It's probably sent, but nothing see it because there is no userspace
that would have subscribed.

If udev is started later during bootup, and the coldplug triggers all
events again, the firmware request should be found and be fulfilled by
userspace -- at least that's the theory.

Can you reach the box with a login before the 60 seconds are reached?

Do you see a firmware request (directory) still hanging around in
/sys/class/firmware/ ?

Kay
--
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/