On Wed, Jan 7, 2009 at 4:11 PM, Peter Stuge <pe...@stuge.se> wrote:
> When trying to reproduce the problem observed with alsamixer I
> encountered another:
>
> ..
> usb 1-2: USB disconnect, address 3
> em28xx-input.c: remote control handler detached
> em28xx #0: disconnecting em28xx#0 video
> em28xx #0: V4L2 VIDEO devices /dev/video0 deregistered
> em28xx #0: V4L2 VBI devices /dev/vbi0 deregistered
> BUG: unable to handle kernel NULL pointer dereference at 00000000
> IP: [<d8c8b513>] :em28xx:em28xx_read_reg_req+0x53/0x100
> *pde = 00000000
> Oops: 0000 [#1] PREEMPT
> Modules linked in: drx3973d s921 mt2060 lgdt3304 zl10353 qt1010 tuner_xc3028 
> tvp5150 em28xx i2c_core
>
> Pid: 4, comm: events/0 Not tainted (2.6.26 #5)
> EIP: 0060:[<d8c8b513>] EFLAGS: 00010246 CPU: 0
> EIP is at em28xx_read_reg_req+0x53/0x100 [em28xx]
> EAX: 00000000 EBX: 00000001 ECX: 000003e8 EDX: 00000000
> ESI: d6ae2000 EDI: 00000045 EBP: 00000000 ESP: d783bf34
>  DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068
> Process events/0 (pid: 4, ti=d783a000 task=d782c9f0 task.ti=d783a000)
> Stack: d782c9f0 c0750600 00000000 6e657665 302f7374 00000000 00000000 d6ae2000
>       d6ae2000 d8cdc570 d783a000 d8c8d73a d379fe00 d6ae2000 d379fe00 d8c8da1e
>       d6a0a300 d379fe10 d379fe0c d7808100 d783a000 c01311cd d783a000 d782cb44
> Call Trace:
>  [<d8c8d73a>] em2880_get_key_terratec+0x2a/0xa0 [em28xx]
>  [<d8c8da1e>] em28xx_ir_work+0x4e/0x140 [em28xx]

the remote control should already be deinitialized it's a bug in the
linux timer code.
It also seems there's a difference between several kernel versions.
The correct way to fix this is to throw away the timing code and
redesign the input handling,
it's on the TODO list right now.
I had an obviously working version for newer kernel versions already
although it didn't work with older
kernel versions (and there are still many customers who require older kernels).
The very best way would probably be to use usbdevfs from userland for
reading the RC values.

It says null pointer because the deinitialization of the timer didn't
work correctly so the driver
was still trying to read from the device after the device has been
deinitialized.

regards,
Markus

>  [<c01311cd>] run_workqueue+0x9d/0x170
>  [<c0134ae7>] prepare_to_wait+0x7/0xa0
>  [<d8c8d9d0>] em28xx_ir_work+0x0/0x140 [em28xx]
>  [<c0134920>] autoremove_wake_function+0x0/0x40
>  [<c0131aca>] worker_thread+0x7a/0xd0
>  [<c0134920>] autoremove_wake_function+0x0/0x40
>  [<c0131a50>] worker_thread+0x0/0xd0
>  [<c0134622>] kthread+0x42/0x70
>  [<c01345e0>] kthread+0x0/0x70
>  [<c0103e5f>] kernel_thread_helper+0x7/0x18
>  =======================
> Code: 8b 74 24 20 8b 5c 24 1c 8b 7c 24 24 8b 6c 24 28 83 c4 2c c3 8d 74 26 00 
> 8b
>  86 88 09 00 00 0f b6 ea b9 e8 03 00 00 bb 01 00 00 00 <8b> 10 89 4c 24 14 8d 
> 4c
>  24 1b 89 4c 24 0c 31 c9 89 4c 24 04 89
> EIP: [<d8c8b513>] em28xx_read_reg_req+0x53/0x100 [em28xx] SS:ESP 0068:d783bf34
> ---[ end trace 5faa1945dfcbdbc9 ]---
>
> This has happened a few times before too.
>
> PREEMPT seems to be a recurring theme..
>
>
> //Peter
>
> _______________________________________________
> Em28xx mailing list
> Em28xx@mcentral.de
> http://mcentral.de/mailman/listinfo/em28xx
>

_______________________________________________
Em28xx mailing list
Em28xx@mcentral.de
http://mcentral.de/mailman/listinfo/em28xx

Reply via email to