[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4F2379E6.9050303@sipsolutions.net>
Date: Fri, 27 Jan 2012 20:30:30 -0800
From: Johannes Berg <johannes@...solutions.net>
To: Larry Finger <Larry.Finger@...inger.net>
CC: LKML <linux-kernel@...r.kernel.org>,
wireless <linux-wireless@...r.kernel.org>
Subject: Re: Kernel BUG due to kernel page fault
Larry,
On 1/26/2012 2:36 PM, Larry Finger wrote:
> I am trying to convert the rtlwifi family of drivers to use asynchronous
> firmware loading. With recent changes in udev, many problems are being
> reported. See Bug 42632] at b.k.o.
I'm not sure what caused your problem, but your email reminded me of an
issue we had with asynchronous firmware loading that you may want to
consider.
When request_firmware_async() is called, it eventually calls the
callback you give it. This may, however, be a long time later (I think
the current default timeout is 1 minute). In the meantime, the module
could be unloaded by the user, and then the system crashes as soon as
the firmwaer code attempts to invoke the callback.
To fix this, we have a completion in iwlwifi that some exit code path
waits for to make sure this scenario doesn't happen.
I think you should implement that.
A better fix would probably be to make request_firmware_async() take a
struct module * argument and pass THIS_MODULE to it, and make the
firmware code handle this, but currently it doesn't.
johannes
--
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