[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070807162618.3814ff78@gondolin.boeblingen.de.ibm.com>
Date: Tue, 7 Aug 2007 16:26:18 +0200
From: Cornelia Huck <cornelia.huck@...ibm.com>
To: Javier Pello <javier.pello@...c.es>
Cc: Kay Sievers <kay.sievers@...y.org>, linux-kernel@...r.kernel.org,
Greg KH <greg@...ah.com>
Subject: Re: [PATCH] request_firmware: skip timeout if userspace was not
notified
On Tue, 07 Aug 2007 15:59:38 +0200,
Javier Pello <javier.pello@...c.es> wrote:
> On Tue, 07 Aug 2007, Kay Sievers wrote:
>
> > If you don't have modules and the initial request fails, how do you
> > load the firmware later?
>
> I trigger a rebinding of the device to the driver in an init file:
> # echo -n [device] >/sys/.../bind
So it is indeed that this driver wants to fail its probe if it cannot
get the firmware. A possibilty to achieve a similar effect would be to
use request_firmware_nowait() and to call device_release_driver() from
the callback if no firmware is loaded. (This would imply a split of
that driver's probe function into two stages.)
>
> > The real fix would be to change the driver not to block in the
> > firmware request and use async version of firmware loading. The
> > whole firmware class with its silly timeout is just a piece of
> > crap, that needs to be replaced.
>
> I don't think that would be a real fix. You've done away with the
> kernel blocking, but the timeout is still there, only that in the
> background, and my point is still true: it is useless to wait at
> all if userspace didn't receive the event. Waiting asynchronously
> is less annoying than waiting synchronously, but equally useless.
Well, at least it doesn't block the whole probing process... although
this waiting is indeed useless.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists