lkml.org 
[lkml]   [2012]   [Jan]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: 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


\
 
 \ /
  Last update: 2012-01-28 05:33    [W:0.065 / U:2.536 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site