Thread (2 messages) 2 messages, 2 authors, 2012-01-28

Re: Kernel BUG due to kernel page fault

From: Larry Finger <hidden>
Date: 2012-01-28 23:02:56
Also in: lkml

Possibly related (same subject, not in this thread)

On 01/27/2012 10:30 PM, Johannes Berg wrote:
Larry,

On 1/26/2012 2:36 PM, Larry Finger wrote:
quoted
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.
Thanks for explaining why the completion queue is in iwlwifi. That was easy to 
implement.

Larry
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help