Re: Imon module Oops and kernel hang

Jarod Wilson
2011-07-12T19:56:14Z

On Jul 12, 2011, at 11:03 AM, Randy Dunlap wrote:

> [add linux-media mailing list]
>
> On Tue, 12 Jul 2011 10:38:36 +1000 Chris W wrote:
>
>> Hello All,
>>
>> The following report applies to 2.6.39.3 (vanilla code). I also see it
>> consistently on 2.6.39.2 and 2.6.38-gentoo-r6.
>>
>> I am trying to switch to using the in-kernel modules for my remote
>> control and vfd display needs. I have built the kernel with the mceusb
>> module for the MCE remote that I use to control the machine and the imon
>> module to provide an LCD interface for lcdproc (I don't use that actual
>> remote). There's also another, unused, remote interface on one of my DVB
>> cards (rc_winfast module). Kernel modules for the MCE and other remote
>> load fine.
>>
>> Attempting to load the imon module crashes Linux hard (no recovery other
>> than hard reset). Details are below. It seems to be related to
>> keytables. The iMon device is an older VFD device in a Silverstone
>> case, with mouse control on the remote, no volume knob. Details of the
>> iMon USB device are below the crash details.
>>
>> I hope this is a dumb mistake on my part. I would appreciate any
>> assistance.

I don't see any rc_imon_pad or rc_imon_mce modules there, and I've not
seen any panics with multiple imon devices here, so I'm guessing you
didn't build either of the possible imon keymaps, and having a null
keymap is interacting badly with rc_g_keycode_from_table.

>> root@kepler # modprobe -v imon debug=1
>> (I have also tried specifying display_type=1)
>>
>> root@newton # cat /var/log/kepler-netconsole.log
>> Jul 12 09:44:20 kepler BUG: unable to handle kernel
>> Jul 12 09:44:20 kepler NULL pointer dereference
>> Jul 12 09:44:20 kepler at 000000dc
>> Jul 12 09:44:20 kepler IP:
>> Jul 12 09:44:20 kepler [<f8fbe46e>] rc_g_keycode_from_table+0x1e/0xe0
>> [rc_core]
>> Jul 12 09:44:20 kepler *pde = 00000000
>> Jul 12 09:44:20 kepler
>> Jul 12 09:44:20 kepler Oops: 0000 [#1]
>> Jul 12 09:44:20 kepler PREEMPT
>> Jul 12 09:44:20 kepler
>> Jul 12 09:44:20 kepler last sysfs file:
>> /sys/devices/pci0000:00/0000:00:10.2/usb4/4-2/4-2:1.0/input/input6/capabilities/key
>> Jul 12 09:44:20 kepler Modules linked in:
>> Jul 12 09:44:20 kepler imon(+)
>> Jul 12 09:44:20 kepler netconsole
>> Jul 12 09:44:20 kepler asb100
>> Jul 12 09:44:20 kepler hwmon_vid
>> Jul 12 09:44:20 kepler cx22702
>> Jul 12 09:44:20 kepler dvb_pll
>> Jul 12 09:44:20 kepler mt352
>> Jul 12 09:44:20 kepler cx88_dvb
>> Jul 12 09:44:20 kepler cx88_vp3054_i2c
>> Jul 12 09:44:20 kepler rc_winfast
>> Jul 12 09:44:20 kepler ir_lirc_codec
>> Jul 12 09:44:20 kepler lirc_dev
>> Jul 12 09:44:20 kepler ir_sony_decoder
>> Jul 12 09:44:20 kepler videobuf_dvb
>> Jul 12 09:44:20 kepler ir_jvc_decoder
>> Jul 12 09:44:20 kepler ir_rc6_decoder
>> Jul 12 09:44:20 kepler snd_via82xx
>> Jul 12 09:44:20 kepler cx8802
>> Jul 12 09:44:20 kepler cx8800
>> Jul 12 09:44:20 kepler ir_rc5_decoder
>> Jul 12 09:44:20 kepler ir_nec_decoder
>> Jul 12 09:44:20 kepler snd_ac97_codec
>> Jul 12 09:44:20 kepler ac97_bus
>> Jul 12 09:44:20 kepler cx88xx
>> Jul 12 09:44:20 kepler rc_core
>> Jul 12 09:44:20 kepler b44
>> Jul 12 09:44:20 kepler i2c_algo_bit
>> Jul 12 09:44:20 kepler snd_mpu401_uart
>> Jul 12 09:44:20 kepler tveeprom
>> Jul 12 09:44:20 kepler snd_rawmidi
>> Jul 12 09:44:20 kepler btcx_risc
>> Jul 12 09:44:20 kepler i2c_viapro
>> Jul 12 09:44:20 kepler videobuf_dma_sg
>> Jul 12 09:44:20 kepler ssb
>> Jul 12 09:44:20 kepler mii
>> Jul 12 09:44:20 kepler videobuf_core
>> Jul 12 09:44:20 kepler
>> Jul 12 09:44:20 kepler
>> Jul 12 09:44:20 kepler Pid: 2981, comm: input_id Not tainted 2.6.39.3 #2
>> Jul 12 09:44:20 kepler System Manufacturer System Name
>> Jul 12 09:44:20 kepler /A7V8X
>> Jul 12 09:44:20 kepler
>> Jul 12 09:44:20 kepler EIP: 0060:[<f8fbe46e>] EFLAGS: 00010002 CPU: 0
>> Jul 12 09:44:20 kepler EIP is at rc_g_keycode_from_table+0x1e/0xe0 [rc_core]
>> Jul 12 09:44:20 kepler EAX: 00000000 EBX: f57f2000 ECX: 00000008 EDX:
>> 00000000
>> Jul 12 09:44:20 kepler ESI: 00000000 EDI: 00000000 EBP: f7007e48 ESP:
>> f7007e18
>> Jul 12 09:44:20 kepler DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068
>> Jul 12 09:44:20 kepler Process input_id (pid: 2981, ti=f7006000
>> task=f5101a40 task.ti=f5102000)
>> Jul 12 09:44:20 kepler Stack:
>> Jul 12 09:44:20 kepler 00000001
>> Jul 12 09:44:20 kepler f7007e30
>> Jul 12 09:44:20 kepler c101e9ae
>> Jul 12 09:44:20 kepler f7088a60
>> Jul 12 09:44:20 kepler 00000001
>> Jul 12 09:44:20 kepler f7088a60
>> Jul 12 09:44:20 kepler 00000000
>> Jul 12 09:44:20 kepler 00000086
>> Jul 12 09:44:20 kepler
>> Jul 12 09:44:20 kepler f7007e50
>> Jul 12 09:44:20 kepler f57f2000
>> Jul 12 09:44:20 kepler 00000000
>> Jul 12 09:44:20 kepler 00000000
>> Jul 12 09:44:20 kepler f7007e58
>> Jul 12 09:44:20 kepler f87c259c
>> Jul 12 09:44:20 kepler f57f2000
>> Jul 12 09:44:20 kepler f57f2041
>> Jul 12 09:44:20 kepler
>> Jul 12 09:44:20 kepler f7007edc
>> Jul 12 09:44:20 kepler f87c26dc
>> Jul 12 09:44:20 kepler f68880a4
>> Jul 12 09:44:20 kepler f7007e6c
>> Jul 12 09:44:20 kepler c11a0865
>> Jul 12 09:44:20 kepler f7007e74
>> Jul 12 09:44:20 kepler f68880a4
>> Jul 12 09:44:20 kepler f7007e98
>> Jul 12 09:44:20 kepler
>> Jul 12 09:44:20 kepler Call Trace:
>> Jul 12 09:44:20 kepler [<c101e9ae>] ? T.889+0x2e/0x50
>> Jul 12 09:44:20 kepler [<f87c259c>] imon_remote_key_lookup+0x1c/0x70 [imon]
>> Jul 12 09:44:20 kepler [<f87c26dc>] imon_incoming_packet+0x5c/0xe10 [imon]
>> Jul 12 09:44:20 kepler [<c11a0865>] ? blk_complete_request+0x15/0x20
>> Jul 12 09:44:20 kepler [<c12572c8>] ? atapi_qc_complete+0x58/0x2b0
>> Jul 12 09:44:20 kepler [<c124f353>] ? __ata_qc_complete+0x73/0x110
>> Jul 12 09:44:20 kepler [<f87c3563>] usb_rx_callback_intf0+0x63/0x70 [imon]
>> Jul 12 09:44:20 kepler [<c1272cc8>] usb_hcd_giveback_urb+0x48/0xb0
>> Jul 12 09:44:20 kepler [<c128a5ee>] uhci_giveback_urb+0x8e/0x220
>> Jul 12 09:44:20 kepler [<c128ac16>] uhci_scan_schedule+0x396/0x9a0
>> Jul 12 09:44:20 kepler [<c128cfd1>] uhci_irq+0x91/0x170
>> Jul 12 09:44:20 kepler [<c1271de1>] usb_hcd_irq+0x21/0x50
>> Jul 12 09:44:20 kepler [<c1051246>] handle_irq_event_percpu+0x36/0x140
>> Jul 12 09:44:20 kepler [<c1015f06>] ? __io_apic_modify_irq+0x76/0x90
>> Jul 12 09:44:20 kepler [<c1053000>] ? handle_edge_irq+0x100/0x100
>> Jul 12 09:44:20 kepler [<c1051382>] handle_irq_event+0x32/0x60
>> Jul 12 09:44:20 kepler [<c1053045>] handle_fasteoi_irq+0x45/0xc0
>> Jul 12 09:44:20 kepler <IRQ>
>> Jul 12 09:44:20 kepler
>> Jul 12 09:44:20 kepler [<c1003cea>] ? do_IRQ+0x3a/0xb0
>> Jul 12 09:44:20 kepler [<c1089fcd>] ? sys_read+0x3d/0x70
>> Jul 12 09:44:20 kepler [<c13d8d69>] ? common_interrupt+0x29/0x30
>> Jul 12 09:44:20 kepler Code:
>> Jul 12 09:44:20 kepler ff
>> Jul 12 09:44:20 kepler ff
>> Jul 12 09:44:20 kepler 8d
>> Jul 12 09:44:20 kepler 74
>> Jul 12 09:44:20 kepler 26
>> Jul 12 09:44:20 kepler 00
>> Jul 12 09:44:20 kepler 8d
>> Jul 12 09:44:20 kepler bc
>> Jul 12 09:44:20 kepler 27
>> Jul 12 09:44:20 kepler 00
>> Jul 12 09:44:20 kepler 00
>> Jul 12 09:44:20 kepler 00
>> Jul 12 09:44:20 kepler 00
>> Jul 12 09:44:20 kepler 55
>> Jul 12 09:44:20 kepler 89
>> Jul 12 09:44:20 kepler e5
>> Jul 12 09:44:20 kepler 57
>> Jul 12 09:44:20 kepler 56
>> Jul 12 09:44:20 kepler 53
>> Jul 12 09:44:20 kepler 83
>> Jul 12 09:44:20 kepler ec
>> Jul 12 09:44:20 kepler 24
>> Jul 12 09:44:20 kepler 89
>> Jul 12 09:44:20 kepler 45
>> Jul 12 09:44:20 kepler e8
>> Jul 12 09:44:20 kepler 9c
>> Jul 12 09:44:20 kepler 8f
>> Jul 12 09:44:20 kepler 45
>> Jul 12 09:44:20 kepler ec
>> Jul 12 09:44:20 kepler fa
>> Jul 12 09:44:20 kepler 89
>> Jul 12 09:44:20 kepler e0
>> Jul 12 09:44:20 kepler 25
>> Jul 12 09:44:20 kepler 00
>> Jul 12 09:44:20 kepler e0
>> Jul 12 09:44:20 kepler ff
>> Jul 12 09:44:20 kepler ff
>> Jul 12 09:44:20 kepler ff
>> Jul 12 09:44:20 kepler 40
>> Jul 12 09:44:20 kepler 14
>> Jul 12 09:44:20 kepler 8b
>> Jul 12 09:44:20 kepler 45
>> Jul 12 09:44:20 kepler e8
>> Jul 12 09:44:20 kepler syslog-ng[2061]: Error processing log message: <8b>
>> Jul 12 09:44:20 kepler 80
>> Jul 12 09:44:20 kepler dc
>> Jul 12 09:44:20 kepler 00
>> Jul 12 09:44:20 kepler 00
>> Jul 12 09:44:20 kepler 00
>> Jul 12 09:44:20 kepler 89
>> Jul 12 09:44:20 kepler c3
>> Jul 12 09:44:20 kepler 89
>> Jul 12 09:44:20 kepler 45
>> Jul 12 09:44:20 kepler f0
>> Jul 12 09:44:20 kepler 4b
>> Jul 12 09:44:20 kepler 78
>> Jul 12 09:44:20 kepler 38
>> Jul 12 09:44:20 kepler 8b
>> Jul 12 09:44:20 kepler 45
>> Jul 12 09:44:20 kepler e8
>> Jul 12 09:44:20 kepler 31
>> Jul 12 09:44:20 kepler c9
>> Jul 12 09:44:20 kepler 8b
>> Jul 12 09:44:20 kepler b0
>> Jul 12 09:44:20 kepler
>> Jul 12 09:44:20 kepler EIP: [<f8fbe46e>]
>> Jul 12 09:44:20 kepler rc_g_keycode_from_table+0x1e/0xe0 [rc_core]
>> Jul 12 09:44:20 kepler SS:ESP 0068:f7007e18
>> Jul 12 09:44:20 kepler CR2: 00000000000000dc
>> Jul 12 09:44:20 kepler ---[ end trace 3be02180d283b5a7 ]---
>> Jul 12 09:44:20 kepler Kernel panic - not syncing: Fatal exception in
>> interrupt
>> Jul 12 09:44:20 kepler Pid: 2981, comm: input_id Tainted: G D
>> 2.6.39.3 #2
>> Jul 12 09:44:20 kepler Call Trace:
>> Jul 12 09:44:20 kepler [<c13d6279>] panic+0x61/0x145
>> Jul 12 09:44:20 kepler [<c1004ff0>] oops_end+0x80/0x80
>> Jul 12 09:44:20 kepler [<c101906e>] no_context+0xbe/0x150
>> Jul 12 09:44:20 kepler [<c101918f>] __bad_area_nosemaphore+0x8f/0x130
>> Jul 12 09:44:20 kepler [<c1019242>] bad_area_nosemaphore+0x12/0x20
>> Jul 12 09:44:20 kepler [<c10195fb>] do_page_fault+0x24b/0x410
>> Jul 12 09:44:20 kepler [<c128bdf6>] ? uhci_alloc_td+0x16/0x40
>> Jul 12 09:44:20 kepler [<c10400e5>] ? T.312+0x15/0x1b0
>> Jul 12 09:44:20 kepler [<c10193b0>] ? mm_fault_error+0xe0/0xe0
>> Jul 12 09:44:20 kepler [<c13d85f4>] error_code+0x58/0x60
>> Jul 12 09:44:20 kepler [<c10193b0>] ? mm_fault_error+0xe0/0xe0
>> Jul 12 09:44:20 kepler [<f8fbe46e>] ? rc_g_keycode_from_table+0x1e/0xe0
>> [rc_core]
>> Jul 12 09:44:20 kepler [<c101e9ae>] ? T.889+0x2e/0x50
>> Jul 12 09:44:20 kepler [<f87c259c>] imon_remote_key_lookup+0x1c/0x70 [imon]
>> Jul 12 09:44:20 kepler [<f87c26dc>] imon_incoming_packet+0x5c/0xe10 [imon]
>> Jul 12 09:44:20 kepler [<c11a0865>] ? blk_complete_request+0x15/0x20
>> Jul 12 09:44:20 kepler [<c12572c8>] ? atapi_qc_complete+0x58/0x2b0
>> Jul 12 09:44:20 kepler [<c124f353>] ? __ata_qc_complete+0x73/0x110
>> Jul 12 09:44:20 kepler [<f87c3563>] usb_rx_callback_intf0+0x63/0x70 [imon]
>> Jul 12 09:44:20 kepler [<c1272cc8>] usb_hcd_giveback_urb+0x48/0xb0
>> Jul 12 09:44:20 kepler [<c128a5ee>] uhci_giveback_urb+0x8e/0x220
>> Jul 12 09:44:20 kepler [<c128ac16>] uhci_scan_schedule+0x396/0x9a0
>> Jul 12 09:44:20 kepler [<c128cfd1>] uhci_irq+0x91/0x170
>> Jul 12 09:44:20 kepler [<c1271de1>] usb_hcd_irq+0x21/0x50
>> Jul 12 09:44:20 kepler [<c1051246>] handle_irq_event_percpu+0x36/0x140
>> Jul 12 09:44:20 kepler [<c1015f06>] ? __io_apic_modify_irq+0x76/0x90
>> Jul 12 09:44:20 kepler [<c1053000>] ? handle_edge_irq+0x100/0x100
>> Jul 12 09:44:20 kepler [<c1051382>] handle_irq_event+0x32/0x60
>> Jul 12 09:44:20 kepler [<c1053045>] handle_fasteoi_irq+0x45/0xc0
>> Jul 12 09:44:20 kepler <IRQ>
>> Jul 12 09:44:20 kepler [<c1003cea>] ? do_IRQ+0x3a/0xb0
>> Jul 12 09:44:20 kepler [<c1089fcd>] ? sys_read+0x3d/0x70
>> Jul 12 09:44:20 kepler [<c13d8d69>] ? common_interrupt+0x29/0x30
>>
>>
>>
>>
>> root@kepler # lsusb -v -d 15c2:ffdc
>> Bus 004 Device 003: ID 15c2:ffdc SoundGraph Inc. iMON PAD Remote Controller
>> Device Descriptor:
>> bLength 18
>> bDescriptorType 1
>> bcdUSB 1.10
>> bDeviceClass 0 (Defined at Interface level)
>> bDeviceSubClass 0
>> bDeviceProtocol 0
>> bMaxPacketSize0 8
>> idVendor 0x15c2 SoundGraph Inc.
>> idProduct 0xffdc iMON PAD Remote Controller
>> bcdDevice 0.00
>> iManufacturer 0
>> iProduct 0
>> iSerial 0
>> bNumConfigurations 1
>> Configuration Descriptor:
>> bLength 9
>> bDescriptorType 2
>> wTotalLength 41
>> bNumInterfaces 1
>> bConfigurationValue 1
>> iConfiguration 0
>> bmAttributes 0x80
>> (Bus Powered)
>> MaxPower 100mA
>> Interface Descriptor:
>> bLength 9
>> bDescriptorType 4
>> bInterfaceNumber 0
>> bAlternateSetting 0
>> bNumEndpoints 2
>> bInterfaceClass 0 (Defined at Interface level)
>> bInterfaceSubClass 0
>> bInterfaceProtocol 0
>> iInterface 0
>> ** UNRECOGNIZED: 09 21 00 01 00 01 22 25 00
>> Endpoint Descriptor:
>> bLength 7
>> bDescriptorType 5
>> bEndpointAddress 0x81 EP 1 IN
>> bmAttributes 3
>> Transfer Type Interrupt
>> Synch Type None
>> Usage Type Data
>> wMaxPacketSize 0x0008 1x 8 bytes
>> bInterval 10
>> Endpoint Descriptor:
>> bLength 7
>> bDescriptorType 5
>> bEndpointAddress 0x02 EP 2 OUT
>> bmAttributes 3
>> Transfer Type Interrupt
>> Synch Type None
>> Usage Type Data
>> wMaxPacketSize 0x0008 1x 8 bytes
>> bInterval 10
>> Device Status: 0x0000
>> (Bus Powered)
>>
>>
>>
>> # Kernel options from Media/RC
>> #
>> # Multimedia drivers
>> #
>> CONFIG_RC_CORE=m
>> CONFIG_LIRC=m
>> CONFIG_RC_MAP=m
>> CONFIG_IR_NEC_DECODER=m
>> CONFIG_IR_RC5_DECODER=m
>> CONFIG_IR_RC6_DECODER=m
>> CONFIG_IR_JVC_DECODER=m
>> CONFIG_IR_SONY_DECODER=m
>> CONFIG_IR_RC5_SZ_DECODER=m
>> CONFIG_IR_LIRC_CODEC=m
>> # CONFIG_IR_ENE is not set
>> CONFIG_IR_IMON=m
>> CONFIG_IR_MCEUSB=m
>> # CONFIG_IR_ITE_CIR is not set
>> # CONFIG_IR_NUVOTON is not set
>> # CONFIG_IR_STREAMZAP is not set
>> # CONFIG_IR_WINBOND_CIR is not set
>> # CONFIG_RC_LOOPBACK is not set
>>
>>
>> # cat /proc/cpuinfo
>> processor : 0
>> vendor_id : AuthenticAMD
>> cpu family : 6
>> model : 8
>> model name : AMD Athlon(TM) XP 2400+
>> stepping : 1
>> cpu MHz : 2000.091
>> cache size : 256 KB
>> fdiv_bug : no
>> hlt_bug : no
>> f00f_bug : no
>> coma_bug : no
>> fpu : yes
>> fpu_exception : yes
>> cpuid level : 1
>> wp : yes
>> flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
>> cmov pat pse36 mmx fxsr sse syscall mmxext 3dnowext 3dnow
>> bogomips : 4000.18
>> clflush size : 32
>> cache_alignment : 32
>> address sizes : 34 bits physical, 32 bits virtual
>> power management: ts
>>
>> --
>> Chris Williams
>> Brisbane, Australia
>>
>> --
>
>
> ---
> ~Randy
> *** Remember to use Documentation/SubmitChecklist when testing your code ***
> --
> To unsubscribe from this list: send the line "unsubscribe linux-media" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html

--
Jarod Wilson
jarod@wilsonet.com