lkml.org 
[lkml]   [2009]   [Feb]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [crash] af9005_usb_module_init(): BUG: unable to handle kernel paging request at ff100000
En/na Daniel Walker ha escrit:
> On Tue, 2009-02-03 at 21:41 +0100, Luca Olivetti wrote:
>
>> No, I don't have 2.6.28, but I guess that maybe once usb_register is
>> called the dvb-usb subsystem asynchronously (is that an smp system?)
>> starts polling the remote before the rc_decode function pointer has been
>> initialized.
>> Could you try to initialize it to NULL before calling usb_register?
>
> What happens to the decode function when you have,
>
> CONFIG_DVB_USB_AF9005=y
> CONFIG_DVB_USB_AF9005_REMOTE=n
>
> It seems that the decode function is defined inside,
> drivers/media/dvb/dvb-usb/af9005-remote.c
>
> but that doesn't get compiled in the case above. It looks like you end
> up with af9005_rc_decode being a function local weak symbol
> (uninitialized) which then gets assigned to rc_decode .. I think the
> crash actually happens on rc_keys_size which get assigned another
> uninitialized local, and it gets de-referenced .

Doesn't symbol_request return a NULL in such a case?
At the time I didn't try the above configuration
(CONFIG_DVB_USB_AF9005_REMOTE=n), but removed the compiled
dvb-usb-af9005-remote.ko, and all was well (i.e. the symbol_request
returned NULL and the remote handling was disabled).

> Here's a patch I compile tested, and I think it would fix the issue.

But it'd break the alternative rc decoding module (not integrated in the
kernel because it uses lirc):

http://ventoso.org/luca/af9005/README.lirc

Not really an issue for me, since I'm using a lirc-serial homebrew
device, (besides, my af9005 device is broken, though the remote part is
still working, so in a pinch I could use it as an usb remote receiver).

@Ingo, silly question, but do you have an af9005 based device where this
is crashing?

Bye
--
Luca




\
 
 \ /
  Last update: 2009-02-04 15:55    [from the cache]
©2003-2011 Jasper Spaans