Skip to contentSkip to conversation

PROBLEM: Kernel Bug on USB unplugging (Elo TouchSystems CarrollTouch 4500U)

DISCUSSION Pierre Sauter 3 participants 4 messages May 30, 2016 – May 31, 2016 HID

lore
Share & tools
lore
#0 lore raw

On unplugging this USB Touchscreen, everytime I get either:

[  161.596055] BUG: unable to handle kernel NULL pointer dereference at 00000015
[  161.596093] IP: [<c10c92b0>] get_next_timer_interrupt+0x80/0x270
or
[  155.892061] BUG: unable to handle kernel paging request at 30303046
[  155.892101] IP: [<c10d13da>] get_next_timer_interrupt+0x8a/0x290

and then panic and the system is unresponsive.

Tried several kernels, without change.

The 4.4.11 tested is Vanilla with Debian config, the 4.5 is a Debian Kernel with their patches.

Output of oops on 4.4.11:

[   50.484019] usb 2-2: new full-speed USB device number 3 using uhci_hcd
[   50.672035] usb 2-2: New USB device found, idVendor=04e7, idProduct=0030
[   50.672056] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[   50.672073] usb 2-2: Product: Elo TouchSystems CarrollTouch 4500U
[   50.672092] usb 2-2: Manufacturer: Elo TouchSystems, Inc.
[   50.672107] usb 2-2: SerialNumber: 08A58015
[   50.726177] input: Elo TouchSystems, Inc. Elo TouchSystems CarrollTouch 4500U as /devices/pci0000:00/0000:00:1d.1/usb2/2-2/2-2:1.0/0003:04E7:0030.0002/input/input20
[   50.780198] elo 0003:04E7:0030.0002: input,hidraw1: USB HID v1.00 Pointer [Elo TouchSystems, Inc. Elo TouchSystems CarrollTouch 4500U] on usb-0000:00:1d.1-2/input0
[   50.780234] elo 0003:04E7:0030.0002: broken firmware found, installing workaround
[  161.348076] usb 2-2: USB disconnect, device number 3
[  161.596055] BUG: unable to handle kernel NULL pointer dereference at 00000015
[  161.596093] IP: [<c10c92b0>] get_next_timer_interrupt+0x80/0x270
[  161.596119] *pdpt = 00000000376e6001 *pde = 0000000000000000 
[  161.596142] Oops: 0000 [#1] SMP 
[  161.596162] Modules linked in: joydev hid_elo elo binfmt_misc ftdi_sio usbserial iTCO_wdt snd_hda_codec_hdmi iTCO_vendor_support nouveau mxm_wmi wmi video coretemp ttm drm_kms_helper kvm_intel drm evdev kvm irqbypass snd_hda_codec_realtek nvidiafb vgastate serio_raw fb_ddc i2c_algo_bit i2c_i801 snd_hda_codec_generic lpc_ich snd_hda_intel mfd_core snd_hda_codec 8250_fintek acpi_cpufreq snd_hda_core snd_hwdep shpchp tpm_tis button ite_cir rc_core tpm processor usbtouchscreen snd_pcsp snd_pcm snd_timer snd soundcore ppdev lp parport_pc parport autofs4 ext4 crc16 mbcache jbd2 netconsole configfs hid_generic usbhid hid sg sr_mod cdrom sd_mod ata_generic psmouse ata_piix libata scsi_mod ehci_pci r8169 mii thermal uhci_hcd ehci_hcd usbcore usb_common
[  161.596719] CPU: 1 PID: 0 Comm: swapper/1 Tainted: G        W       4.4.11-debian32.686pae+1.1 #1
[  161.596799] Hardware name: ACER Extensa E270/EG31M, BIOS P01-A0L 09/24/2009
[  161.596814] task: f3916800 ti: f3976000 task.ti: f3976000
[  161.596827] EIP: 0060:[<c10c92b0>] EFLAGS: 00210086 CPU: 1
[  161.596842] EIP is at get_next_timer_interrupt+0x80/0x270
[  161.596854] EAX: ffffffff EBX: 000000e6 ECX: 000000d9 EDX: ffff78d9
[  161.596868] ESI: ffffffff EDI: 7fffffff EBP: f3977f20 ESP: f3977ee8
[  161.596881]  DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
[  161.596894] CR0: 8005003b CR2: 00000015 CR3: 32d88260 CR4: 000406f0
[  161.596907] Stack:
[  161.596916]  f3977f20 ffff78d8 db43c556 9fdf4700 00000025 f3e4a980 00000069 80a65164
[  161.596967]  00000025 9fdfc4ec 00000025 f3e4b440 9fdf4700 00000025 f3977f68 c10d9319
[  161.597018]  f3916800 c15139c6 00000000 f3e4a580 00000002 f3e51080 ffff78d8 00000025
[  161.597068] Call Trace:
[  161.597083]  [<c10d9319>] ? __tick_nohz_idle_enter+0x2f9/0x4c0
[  161.597099]  [<c15139c6>] ? __schedule+0x226/0x8f0
[  161.597113]  [<c10d9c46>] ? tick_nohz_idle_enter+0x36/0x70
[  161.597128]  [<c10a3b95>] ? cpu_startup_entry+0x35/0x300
[  161.597144]  [<c1048052>] ? start_secondary+0x112/0x150
[  161.597156] Code: 00 8b 4b 10 85 c9 0f 84 87 00 00 00 8b 44 24 14 8b 50 08 8b 40 0c 39 c2 78 53 0f b6 ca 89 cb 8b 44 24 14 8b 44 98 20 85 c0 74 0c <f6> 40 16 10 74 22 8b 00 85 c0 75 f4 83 c3 01 0f b6 db 39 d9 75
[  161.597618] EIP: [<c10c92b0>] get_next_timer_interrupt+0x80/0x270 SS:ESP 0068:f3977ee8
[  161.597645] CR2: 0000000000000015
[  161.598185] ---[ end trace 43f94ff33c064faa ]---
[  161.598701] Kernel panic - not syncing: Attempted to kill the idle task!
[  161.599219] Kernel Offset: disabled
[  161.599778] ---[ end Kernel panic - not syncing: Attempted to kill the idle task!

Output of Oops on 4.5:

[  155.644074] usb 3-2: USB disconnect, device number 3
[  155.892061] BUG: unable to handle kernel paging request at 30303046
[  155.892101] IP: [<c10d13da>] get_next_timer_interrupt+0x8a/0x290
[  155.892127] *pdpt = 0000000032d76001 *pde = 0000000000000000 
[  155.892150] Oops: 0000 [#1] SMP 
[  155.892170] Modules linked in: elo(E) binfmt_misc(E) ftdi_sio(E) usbserial(E) joydev(E) nouveau(E) coretemp(E) kvm_intel(E) iTCO_wdt(E) kvm(E) iTCO_vendor_support(E) snd_hda_codec_hdmi(E) evdev(E) mxm_wmi(E) wmi(E) video(E) ttm(E) drm_kms_helper(E) irqbypass(E) drm(E) i2c_algo_bit(E) i2c_i801(E) serio_raw(E) ite_cir(E) lpc_ich(E) mfd_core(E) snd_hda_codec_realtek(E) snd_hda_codec_generic(E) snd_hda_intel(E) snd_hda_codec(E) snd_hda_core(E) snd_hwdep(E) rc_core(E) 8250_fintek(E) shpchp(E) button(E) acpi_cpufreq(E) tpm_tis(E) tpm(E) processor(E) usbtouchscreen(E) snd_pcsp(E) snd_pcm(E) snd_timer(E) snd(E) soundcore(E) ppdev(E) lp(E) parport_pc(E) parport(E) autofs4(E) ext4(E) crc16(E) mbcache(E) jbd2(E) netconsole(E) configfs(E) hid_elo(E) hid_generic(E) usbhid(E) hid(E) sg(E) sd_mod(E) sr_mod(E) cdrom(E) ata_generic(E) psmouse(E) ata_piix(E) libata(E) scsi_mod(E) r8169(E) mii(E) thermal(E) ehci_pci(E) uhci_hcd(E) ehci_hcd(E) usbcore(E) usb_common(E)
[  155.892744] CPU: 1 PID: 0 Comm: swapper/1 Tainted: G            E   4.5.0-0.bpo.2-686-pae #1 Debian 4.5.4-1~bpo8+1
[  155.892762] Hardware name: ACER Extensa E270/EG31M, BIOS P01-A0L 09/24/2009
[  155.892777] task: f391c980 ti: f3980000 task.ti: f3980000
[  155.893201] EIP: 0060:[<c10d13da>] EFLAGS: 00210006 CPU: 1
[  155.893671] EIP is at get_next_timer_interrupt+0x8a/0x290
[  155.894066] EAX: 30303030 EBX: 00000082 ECX: 00000047 EDX: ffff7347
[  155.894606] ESI: ffffffff EDI: 7fffffff EBP: f3981f00 ESP: f3981ec4
[  155.895257]  DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
[  155.895904] CR0: 8005003b CR2: 30303046 CR3: 32df7120 CR4: 000406f0
[  155.896002] Stack:
[  155.896002]  00000001 ffff7346 c109880f 4be32500 00000024 f3e11940 c10d86db 00000000
[  155.896002]  1fb502bf 00000024 4be3ba7f c999bd98 f3e12400 4be32500 00000024 f3981f4c
[  155.896002]  c10e1ec9 00000000 f391c980 00000000 f3e11540 00000000 00000002 ffff7346
[  155.896002] Call Trace:
[  155.896002]  [<c109880f>] ? sched_clock_cpu+0xff/0x130
[  155.896002]  [<c10d86db>] ? ktime_get+0x4b/0x110
[  155.896002]  [<c10e1ec9>] ? __tick_nohz_idle_enter+0x319/0x4f0
[  155.896002]  [<c10e2806>] ? tick_nohz_idle_enter+0x36/0x70
[  155.896002]  [<c10aa97f>] ? cpu_startup_entry+0x7f/0x350
[  155.896002]  [<c104ae59>] ? start_secondary+0x169/0x1c0
[  155.896002] Code: 00 8b 4b 10 85 c9 0f 84 85 00 00 00 8b 44 24 14 8b 50 08 8b 40 0c 39 c2 78 51 0f b6 ca 89 cb 8b 44 24 14 8b 44 98 20 85 c0 74 0c <f6> 40 16 10 74 20 8b 00 85 c0 75 f4 83 c3 01 0f b6 db 39 d9 75
[  155.896002] EIP: [<c10d13da>] get_next_timer_interrupt+0x8a/0x290 SS:ESP 0068:f3981ec4
[  155.896002] CR2: 0000000030303046
[  155.896002] ---[ end trace 55f187842a6c1f1f ]---
[  155.896002] Kernel panic - not syncing: Attempted to kill the idle task!
[  155.896002] Kernel Offset: disabled
[  155.896002] ---[ end Kernel panic - not syncing: Attempted to kill the idle task!
[  155.908512] ------------[ cut here ]------------
[  155.912102] WARNING: CPU: 1 PID: 0 at /home/zumbi/linux-4.5.4/arch/x86/kernel/smp.c:125 trigger_load_balance+0x10f/0x1d0()
[  155.912510] Modules linked in: elo(E) binfmt_misc(E) ftdi_sio(E) usbserial(E) joydev(E) nouveau(E) coretemp(E) kvm_intel(E) iTCO_wdt(E) kvm(E) iTCO_vendor_support(E) snd_hda_codec_hdmi(E) evdev(E) mxm_wmi(E) wmi(E) video(E) ttm(E) drm_kms_helper(E) irqbypass(E) drm(E) i2c_algo_bit(E) i2c_i801(E) serio_raw(E) ite_cir(E) lpc_ich(E) mfd_core(E) snd_hda_codec_realtek(E) snd_hda_codec_generic(E) snd_hda_intel(E) snd_hda_codec(E) snd_hda_core(E) snd_hwdep(E) rc_core(E) 8250_fintek(E) shpchp(E) button(E) acpi_cpufreq(E) tpm_tis(E) tpm(E) processor(E) usbtouchscreen(E) snd_pcsp(E) snd_pcm(E) snd_timer(E) snd(E) soundcore(E) ppdev(E) lp(E) parport_pc(E) parport(E) autofs4(E) ext4(E) crc16(E) mbcache(E) jbd2(E) netconsole(E) configfs(E) hid_elo(E) hid_generic(E) usbhid(E) hid(E) sg(E) sd_mod(E) sr_mod(E) cdrom(E) ata_generic(E) psmouse(E) ata_piix(E) libata(E) scsi_mod(E) r8169(E) mii(E) thermal(E) ehci_pci(E) uhci_hcd(E) ehci_hcd(E) usbcore(E) usb_common(E)
[  155.912510] CPU: 1 PID: 0 Comm: swapper/1 Tainted: G      D     E   4.5.0-0.bpo.2-686-pae #1 Debian 4.5.4-1~bpo8+1
[  155.912510] Hardware name: ACER Extensa E270/EG31M, BIOS P01-A0L 09/24/2009
[  155.912510]  00200086 c999bd98 f3981c44 c12d102c 00000000 00000001 c106ca91 c164d634
[  155.912510]  00000001 00000000 c164304c 0000007d c10a532f 00000009 0000007d c10a532f
[  155.912510]  00000000 f3e060c0 00000001 f3981c54 c106cb92 00000009 00000000 f3981c6c
[  155.912510] Call Trace:
[  155.912510]  [<c12d102c>] ? dump_stack+0x55/0x79
[  155.912510]  [<c106ca91>] ? warn_slowpath_common+0x91/0xc0
[  155.912510]  [<c10a532f>] ? trigger_load_balance+0x10f/0x1d0
[  155.912510]  [<c10a532f>] ? trigger_load_balance+0x10f/0x1d0
[  155.912510]  [<c106cb92>] ? warn_slowpath_null+0x22/0x30
[  155.912510]  [<c10a532f>] ? trigger_load_balance+0x10f/0x1d0
[  155.912510]  [<c10d1629>] ? update_process_times+0x49/0x60
[  155.912510]  [<c10e1ad6>] ? tick_sched_handle.isra.13+0x26/0x60
[  155.912510]  [<c10e26c7>] ? tick_sched_timer+0x37/0x80
[  155.912510]  [<c10d1f5a>] ? __remove_hrtimer+0x3a/0x70
[  155.912510]  [<c10d2575>] ? __hrtimer_run_queues+0xd5/0x2a0
[  155.912510]  [<c10e2690>] ? tick_sched_do_timer+0x40/0x40
[  155.912510]  [<c10d2a1c>] ? hrtimer_interrupt+0x8c/0x1a0
[  155.912510]  [<c10e2a8c>] ? tick_irq_enter+0xbc/0xd0
[  155.912510]  [<c104c8a0>] ? local_apic_timer_interrupt+0x30/0x60
[  155.912510]  [<c1561413>] ? smp_apic_timer_interrupt+0x33/0x50
[  155.912510]  [<c1560af8>] ? apic_timer_interrupt+0x34/0x3c
[  155.912510]  [<c1156175>] ? panic+0x17a/0x1b7
[  155.912510]  [<c106f9ca>] ? do_exit+0x80a/0xa50
[  155.912510]  [<c11562c6>] ? printk+0x17/0x19
[  155.912510]  [<c106c9ef>] ? print_oops_end_marker+0x2f/0x40
[  155.912510]  [<c1016632>] ? oops_end+0x92/0xd0
[  155.912510]  [<c105ad00>] ? no_context+0x100/0x2b0
[  155.912510]  [<c105af65>] ? __bad_area_nosemaphore+0xb5/0x140
[  155.912510]  [<c105ba80>] ? __do_page_fault+0x480/0x480
[  155.912510]  [<c105b007>] ? bad_area_nosemaphore+0x17/0x20
[  155.912510]  [<c156114b>] ? error_code+0x67/0x6c
[  155.912510]  [<c10d13da>] ? get_next_timer_interrupt+0x8a/0x290
[  155.912510]  [<c109880f>] ? sched_clock_cpu+0xff/0x130
[  155.912510]  [<c10d86db>] ? ktime_get+0x4b/0x110
[  155.912510]  [<c10e1ec9>] ? __tick_nohz_idle_enter+0x319/0x4f0
[  155.912510]  [<c10e2806>] ? tick_nohz_idle_enter+0x36/0x70
[  155.912510]  [<c10aa97f>] ? cpu_startup_entry+0x7f/0x350
[  155.912510]  [<c104ae59>] ? start_secondary+0x169/0x1c0
[  155.912510] ---[ end trace 55f187842a6c1f20 ]---

Output of lsusb -v:
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00

  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         0 Full speed (or root) hub
  bMaxPacketSize0        64
  idVendor           0x1d6b Linux Foundation
  idProduct          0x0002 2.0 root hub
  bcdDevice            4.04
  iManufacturer           3 Linux 4.4.11-debian32.686pae+1.1 ehci_hcd
  iProduct                2 EHCI Host Controller
  iSerial                 1 0000:00:1d.7
  bNumConfigurations      1

Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0 Unused
bInterfaceProtocol 0 Full speed (or root) hub
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0004 1x 4 bytes
bInterval 12
Hub Descriptor:
bLength 11
bDescriptorType 41
nNbrPorts 8
wHubCharacteristic 0x000a
No power switching (usb 1.0)
Per-port overcurrent protection
bPwrOn2PwrGood 10 * 2 milli seconds
bHubContrCurrent 0 milli Ampere
DeviceRemovable 0x00 0x00
PortPwrCtrlMask 0xff 0xff
Hub Port Status:
Port 1: 0000.0100 power
Port 2: 0000.0100 power
Port 3: 0000.0100 power
Port 4: 0000.0100 power
Port 5: 0000.0100 power
Port 6: 0000.0100 power
Port 7: 0000.0100 power
Port 8: 0000.0100 power
Device Status: 0x0001
Self Powered

Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10

  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         0 Full speed (or root) hub
  bMaxPacketSize0        64
  idVendor           0x1d6b Linux Foundation
  idProduct          0x0001 1.1 root hub
  bcdDevice            4.04
  iManufacturer           3 Linux 4.4.11-debian32.686pae+1.1 uhci_hcd
  iProduct                2 UHCI Host Controller
  iSerial                 1 0000:00:1d.3
  bNumConfigurations      1

Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0 Unused
bInterfaceProtocol 0 Full speed (or root) hub
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0002 1x 2 bytes
bInterval 255
Hub Descriptor:
bLength 9
bDescriptorType 41
nNbrPorts 2
wHubCharacteristic 0x000a
No power switching (usb 1.0)
Per-port overcurrent protection
bPwrOn2PwrGood 1 * 2 milli seconds
bHubContrCurrent 0 milli Ampere
DeviceRemovable 0x00
PortPwrCtrlMask 0xff
Hub Port Status:
Port 1: 0000.0100 power
Port 2: 0000.0100 power
Device Status: 0x0001
Self Powered

Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10

  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         0 Full speed (or root) hub
  bMaxPacketSize0        64
  idVendor           0x1d6b Linux Foundation
  idProduct          0x0001 1.1 root hub
  bcdDevice            4.04
  iManufacturer           3 Linux 4.4.11-debian32.686pae+1.1 uhci_hcd
  iProduct                2 UHCI Host Controller
  iSerial                 1 0000:00:1d.2
  bNumConfigurations      1

Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0 Unused
bInterfaceProtocol 0 Full speed (or root) hub
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0002 1x 2 bytes
bInterval 255
Hub Descriptor:
bLength 9
bDescriptorType 41
nNbrPorts 2
wHubCharacteristic 0x000a
No power switching (usb 1.0)
Per-port overcurrent protection
bPwrOn2PwrGood 1 * 2 milli seconds
bHubContrCurrent 0 milli Ampere
DeviceRemovable 0x00
PortPwrCtrlMask 0xff
Hub Port Status:
Port 1: 0000.0100 power
Port 2: 0000.0100 power
Device Status: 0x0001
Self Powered

Bus 002 Device 003: ID 04e7:0030 Elo TouchSystems 4500U CarrollTouch® Touchmonitor Interface Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.01

  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x04e7 Elo TouchSystems
  idProduct          0x0030 4500U CarrollTouch® Touchmonitor Interface
  bcdDevice            1.0d
  iManufacturer           1 Elo TouchSystems, Inc.
  iProduct                2 Elo TouchSystems CarrollTouch 4500U
  iSerial                 3 08A58015
  bNumConfigurations      1

Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 34
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 4 Model 4500U
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 0 No Subclass
bInterfaceProtocol 0 None
iInterface 5 SmartSet Protocol
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.00
bCountryCode 33 US
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 126
Report Descriptors:
** UNAVAILABLE **
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 5
Device Status: 0x0001
Self Powered

Bus 002 Device 002: ID 046a:0011 Cherry GmbH G83 (RS 6000) Keyboard Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00

  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x046a Cherry GmbH
  idProduct          0x0011 G83 (RS 6000) Keyboard
  bcdDevice            1.00
  iManufacturer           0 
  iProduct                0 
  iSerial                 0 
  bNumConfigurations      1

Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 34
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 1 Boot Interface Subclass
bInterfaceProtocol 1 Keyboard
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.11
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 64
Report Descriptors:
** UNAVAILABLE **
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
Device Status: 0x0000
(Bus Powered)

Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10

  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         0 Full speed (or root) hub
  bMaxPacketSize0        64
  idVendor           0x1d6b Linux Foundation
  idProduct          0x0001 1.1 root hub
  bcdDevice            4.04
  iManufacturer           3 Linux 4.4.11-debian32.686pae+1.1 uhci_hcd
  iProduct                2 UHCI Host Controller
  iSerial                 1 0000:00:1d.1
  bNumConfigurations      1

Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0 Unused
bInterfaceProtocol 0 Full speed (or root) hub
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0002 1x 2 bytes
bInterval 255
Hub Descriptor:
bLength 9
bDescriptorType 41
nNbrPorts 2
wHubCharacteristic 0x000a
No power switching (usb 1.0)
Per-port overcurrent protection
bPwrOn2PwrGood 1 * 2 milli seconds
bHubContrCurrent 0 milli Ampere
DeviceRemovable 0x00
PortPwrCtrlMask 0xff
Hub Port Status:
Port 1: 0000.0303 lowspeed power enable connect Port 2: 0000.0103 power enable connect
Device Status: 0x0001
Self Powered

Bus 001 Device 002: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10

  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x0403 Future Technology Devices International, Ltd
  idProduct          0x6001 FT232 USB-Serial (UART) IC
  bcdDevice            4.00
  iManufacturer           1 FTDI
  iProduct                2 USB <-> Serial
  iSerial                 0 
  bNumConfigurations      1

Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 32
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 90mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 2 USB <-> Serial
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Device Status: 0x0000
(Bus Powered)

Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10

  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         0 Full speed (or root) hub
  bMaxPacketSize0        64
  idVendor           0x1d6b Linux Foundation
  idProduct          0x0001 1.1 root hub
  bcdDevice            4.04
  iManufacturer           3 Linux 4.4.11-debian32.686pae+1.1 uhci_hcd
  iProduct                2 UHCI Host Controller
  iSerial                 1 0000:00:1d.0
  bNumConfigurations      1

Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0 Unused
bInterfaceProtocol 0 Full speed (or root) hub
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0002 1x 2 bytes
bInterval 255
Hub Descriptor:
bLength 9
bDescriptorType 41
nNbrPorts 2
wHubCharacteristic 0x000a
No power switching (usb 1.0)
Per-port overcurrent protection
bPwrOn2PwrGood 1 * 2 milli seconds
bHubContrCurrent 0 milli Ampere
DeviceRemovable 0x00
PortPwrCtrlMask 0xff
Hub Port Status:
Port 1: 0000.0103 power enable connect
Port 2: 0000.0100 power
Device Status: 0x0001
Self Powered

Output of lspci -v:
00:00.0 Host bridge: Intel Corporation 82G33/G31/P35/P31 Express DRAM Controller (rev 10)
Subsystem: Elitegroup Computer Systems Device 2651
Flags: bus master, fast devsel, latency 0
Capabilities: [e0] Vendor Specific Information: Len=0b <?>

00:01.0 PCI bridge: Intel Corporation 82G33/G31/P35/P31 Express PCI Express Root Port (rev 10) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0
Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
I/O behind bridge: 0000d000-0000dfff
Memory behind bridge: fd000000-feafffff
Prefetchable memory behind bridge: 00000000ce000000-00000000dfffffff
Capabilities: [88] Subsystem: Intel Corporation Device 0000
Capabilities: [80] Power Management version 3
Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit-
Capabilities: [a0] Express Root Port (Slot+), MSI 00
Capabilities: [100] Virtual Channel
Capabilities: [140] Root Complex Link
Kernel driver in use: pcieport

00:1b.0 Audio device: Intel Corporation NM10/ICH7 Family High Definition Audio Controller (rev 01)
Subsystem: Elitegroup Computer Systems Device 2651
Flags: bus master, fast devsel, latency 0, IRQ 28
Memory at fcffc000 (64-bit, non-prefetchable) [size=16K]
Capabilities: [50] Power Management version 2
Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
Capabilities: [100] Virtual Channel
Capabilities: [130] Root Complex Link
Kernel driver in use: snd_hda_intel

00:1c.0 PCI bridge: Intel Corporation NM10/ICH7 Family PCI Express Port 1 (rev 01) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0
Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
I/O behind bridge: 00001000-00001fff
Memory behind bridge: c0000000-c01fffff
Prefetchable memory behind bridge: 00000000c0200000-00000000c03fffff
Capabilities: [40] Express Root Port (Slot+), MSI 00
Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit-
Capabilities: [90] Subsystem: Elitegroup Computer Systems Device 2651
Capabilities: [a0] Power Management version 2
Capabilities: [100] Virtual Channel
Capabilities: [180] Root Complex Link
Kernel driver in use: pcieport

00:1c.1 PCI bridge: Intel Corporation NM10/ICH7 Family PCI Express Port 2 (rev 01) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0
Bus: primary=00, secondary=03, subordinate=03, sec-latency=0
I/O behind bridge: 0000e000-0000efff
Memory behind bridge: feb00000-febfffff
Prefetchable memory behind bridge: 00000000fbf00000-00000000fbffffff
Capabilities: [40] Express Root Port (Slot+), MSI 00
Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit-
Capabilities: [90] Subsystem: Elitegroup Computer Systems Device 2651
Capabilities: [a0] Power Management version 2
Capabilities: [100] Virtual Channel
Capabilities: [180] Root Complex Link
Kernel driver in use: pcieport

00:1d.0 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #1 (rev 01) (prog-if 00 [UHCI])
Subsystem: Elitegroup Computer Systems Device 2651
Flags: bus master, medium devsel, latency 0, IRQ 23
I/O ports at cc00 [size=32]
Kernel driver in use: uhci_hcd

00:1d.1 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #2 (rev 01) (prog-if 00 [UHCI])
Subsystem: Elitegroup Computer Systems Device 2651
Flags: bus master, medium devsel, latency 0, IRQ 19
I/O ports at c880 [size=32]
Kernel driver in use: uhci_hcd

00:1d.2 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #3 (rev 01) (prog-if 00 [UHCI])
Subsystem: Elitegroup Computer Systems Device 2651
Flags: bus master, medium devsel, latency 0, IRQ 18
I/O ports at c800 [size=32]
Kernel driver in use: uhci_hcd

00:1d.3 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #4 (rev 01) (prog-if 00 [UHCI])
Subsystem: Elitegroup Computer Systems Device 2651
Flags: bus master, medium devsel, latency 0, IRQ 16
I/O ports at c480 [size=32]
Kernel driver in use: uhci_hcd

00:1d.7 USB controller: Intel Corporation NM10/ICH7 Family USB2 EHCI Controller (rev 01) (prog-if 20 [EHCI])
Subsystem: Elitegroup Computer Systems Device 2651
Flags: bus master, medium devsel, latency 0, IRQ 23
Memory at fcffbc00 (32-bit, non-prefetchable) [size=1K]
Capabilities: [50] Power Management version 2
Capabilities: [58] Debug port: BAR=1 offset=00a0
Kernel driver in use: ehci-pci

00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev e1) (prog-if 01 [Subtractive decode])
Flags: bus master, fast devsel, latency 0
Bus: primary=00, secondary=04, subordinate=04, sec-latency=32
Capabilities: [50] Subsystem: Elitegroup Computer Systems Device 2651

00:1f.0 ISA bridge: Intel Corporation 82801GH (ICH7DH) LPC Interface Bridge (rev 01)
Subsystem: Elitegroup Computer Systems Device 2651
Flags: bus master, medium devsel, latency 0
Capabilities: [e0] Vendor Specific Information: Len=0c <?> Kernel driver in use: lpc_ich

00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 01) (prog-if 8a [Master SecP PriP])

	Subsystem: Elitegroup Computer Systems Device 2651
	Flags: bus master, medium devsel, latency 0, IRQ 18
	I/O ports at 01f0 [size=8]
	I/O ports at 03f4
	I/O ports at 0170 [size=8]
	I/O ports at 0374
	I/O ports at ffa0 [size=16]
	Kernel driver in use: ata_piix

00:1f.2 IDE interface: Intel Corporation NM10/ICH7 Family SATA Controller [IDE mode] (rev 01) (prog-if 8f [Master SecP SecO PriP PriO])

	Subsystem: Elitegroup Computer Systems Device 2651
	Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 19
	I/O ports at c400 [size=8]
	I/O ports at c080 [size=4]
	I/O ports at c000 [size=8]
	I/O ports at bc00 [size=4]
	I/O ports at b880 [size=16]
	Memory at fcffb800 (32-bit, non-prefetchable) [size=1K]
	Capabilities: [70] Power Management version 2
	Kernel driver in use: ata_piix

00:1f.3 SMBus: Intel Corporation NM10/ICH7 Family SMBus Controller (rev 01)
Subsystem: Elitegroup Computer Systems Device 2651
Flags: medium devsel, IRQ 19
I/O ports at 0400 [size=32]
Kernel driver in use: i801_smbus

01:00.0 VGA compatible controller: NVIDIA Corporation GT218 [GeForce 210] (rev a2) (prog-if 00 [VGA controller])
Subsystem: ASUSTeK Computer Inc. Device 8343
Flags: bus master, fast devsel, latency 0, IRQ 29
Memory at fd000000 (32-bit, non-prefetchable) [size=16M]
Memory at d0000000 (64-bit, prefetchable) [size=256M]
Memory at ce000000 (64-bit, prefetchable) [size=32M]
I/O ports at dc00 [size=128]
Expansion ROM at fea80000 [disabled] [size=512K]
Capabilities: [60] Power Management version 3
Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [78] Express Endpoint, MSI 00
Capabilities: [b4] Vendor Specific Information: Len=14 <?>
Capabilities: [100] Virtual Channel
Capabilities: [128] Power Budgeting <?>
Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?>
Kernel driver in use: nouveau

01:00.1 Audio device: NVIDIA Corporation High Definition Audio Controller (rev a1)
Subsystem: ASUSTeK Computer Inc. Device 8343
Flags: bus master, fast devsel, latency 0, IRQ 17
Memory at fea7c000 (32-bit, non-prefetchable) [size=16K]
Capabilities: [60] Power Management version 3
Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [78] Express Endpoint, MSI 00
Kernel driver in use: snd_hda_intel

03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 03)
Subsystem: Elitegroup Computer Systems Device 2651
Physical Slot: 33
Flags: bus master, fast devsel, latency 0, IRQ 27
I/O ports at e800 [size=256]
Memory at fbfff000 (64-bit, prefetchable) [size=4K]
Memory at fbff8000 (64-bit, prefetchable) [size=16K]
Expansion ROM at febe0000 [disabled] [size=128K]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [70] Express Endpoint, MSI 01
Capabilities: [ac] MSI-X: Enable- Count=4 Masked-
Capabilities: [cc] Vital Product Data
Capabilities: [100] Advanced Error Reporting
Capabilities: [140] Virtual Channel
Capabilities: [160] Device Serial Number 8d-03-00-00-68-4c-e0-00
Kernel driver in use: r8169

Signature · 8 lines
Pierre Sauter
Studentenwerk München
IT-Abteilung
Leopoldstraße 15
80802 München
Tel: +49 89 38196-157

-------
#1 lore raw
Quoted 48 lines · Pierre Sauter

On unplugging this USB Touchscreen, everytime I get either:

[  161.596055] BUG: unable to handle kernel NULL pointer dereference at 00000015
[  161.596093] IP: [<c10c92b0>] get_next_timer_interrupt+0x80/0x270
or
[  155.892061] BUG: unable to handle kernel paging request at 30303046
[  155.892101] IP: [<c10d13da>] get_next_timer_interrupt+0x8a/0x290

and then panic and the system is unresponsive.

Tried several kernels, without change.

The 4.4.11 tested is Vanilla with Debian config, the 4.5 is a Debian Kernel with their patches.

Output of oops on 4.4.11:

[   50.484019] usb 2-2: new full-speed USB device number 3 using uhci_hcd
[   50.672035] usb 2-2: New USB device found, idVendor=04e7, idProduct=0030
[   50.672056] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[   50.672073] usb 2-2: Product: Elo TouchSystems CarrollTouch 4500U
[   50.672092] usb 2-2: Manufacturer: Elo TouchSystems, Inc.
[   50.672107] usb 2-2: SerialNumber: 08A58015
[   50.726177] input: Elo TouchSystems, Inc. Elo TouchSystems CarrollTouch 4500U as /devices/pci0000:00/0000:00:1d.1/usb2/2-2/2-2:1.0/0003:04E7:0030.0002/input/input20
[   50.780198] elo 0003:04E7:0030.0002: input,hidraw1: USB HID v1.00 Pointer [Elo TouchSystems, Inc. Elo TouchSystems CarrollTouch 4500U] on usb-0000:00:1d.1-2/input0
[   50.780234] elo 0003:04E7:0030.0002: broken firmware found, installing workaround
[  161.348076] usb 2-2: USB disconnect, device number 3
[  161.596055] BUG: unable to handle kernel NULL pointer dereference at 00000015
[  161.596093] IP: [<c10c92b0>] get_next_timer_interrupt+0x80/0x270
[  161.596119] *pdpt = 00000000376e6001 *pde = 0000000000000000 
[  161.596142] Oops: 0000 [#1] SMP 
[  161.596162] Modules linked in: joydev hid_elo elo binfmt_misc ftdi_sio usbserial iTCO_wdt snd_hda_codec_hdmi iTCO_vendor_support nouveau mxm_wmi wmi video coretemp ttm drm_kms_helper kvm_intel drm evdev kvm irqbypass snd_hda_codec_realtek nvidiafb vgastate serio_raw fb_ddc i2c_algo_bit i2c_i801 snd_hda_codec_generic lpc_ich snd_hda_intel mfd_core snd_hda_codec 8250_fintek acpi_cpufreq snd_hda_core snd_hwdep shpchp tpm_tis button ite_cir rc_core tpm processor usbtouchscreen snd_pcsp snd_pcm snd_timer snd soundcore ppdev lp parport_pc parport autofs4 ext4 crc16 mbcache jbd2 netconsole configfs hid_generic usbhid hid sg sr_mod cdrom sd_mod ata_generic psmouse ata_piix libata scsi_mod ehci_pci r8169 mii thermal uhci_hcd ehci_hcd usbcore usb_common
[  161.596719] CPU: 1 PID: 0 Comm: swapper/1 Tainted: G        W       4.4.11-debian32.686pae+1.1 #1
[  161.596799] Hardware name: ACER Extensa E270/EG31M, BIOS P01-A0L 09/24/2009
[  161.596814] task: f3916800 ti: f3976000 task.ti: f3976000
[  161.596827] EIP: 0060:[<c10c92b0>] EFLAGS: 00210086 CPU: 1
[  161.596842] EIP is at get_next_timer_interrupt+0x80/0x270
[  161.596854] EAX: ffffffff EBX: 000000e6 ECX: 000000d9 EDX: ffff78d9
[  161.596868] ESI: ffffffff EDI: 7fffffff EBP: f3977f20 ESP: f3977ee8
[  161.596881]  DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
[  161.596894] CR0: 8005003b CR2: 00000015 CR3: 32d88260 CR4: 000406f0
[  161.596907] Stack:
[  161.596916]  f3977f20 ffff78d8 db43c556 9fdf4700 00000025 f3e4a980 00000069 80a65164
[  161.596967]  00000025 9fdfc4ec 00000025 f3e4b440 9fdf4700 00000025 f3977f68 c10d9319
[  161.597018]  f3916800 c15139c6 00000000 f3e4a580 00000002 f3e51080 ffff78d8 00000025
[  161.597068] Call Trace:
[  161.597083]  [<c10d9319>] ? __tick_nohz_idle_enter+0x2f9/0x4c0
[  161.597099]  [<c15139c6>] ? __schedule+0x226/0x8f0
[  161.597113]  [<c10d9c46>] ? tick_nohz_idle_enter+0x36/0x70
[  161.597128]  [<c10a3b95>] ? cpu_startup_entry+0x35/0x300
Quoted 8 lines
[  161.597144]  [<c1048052>] ? start_secondary+0x112/0x150
[  161.597156] Code: 00 8b 4b 10 85 c9 0f 84 87 00 00 00 8b 44 24 14 8b 50 08 8b 40 0c 39 c2 78 53 0f b6 ca 89 cb 8b 44 24 14 8b 44 98 20 85 c0 74 0c <f6> 40 16 10 74 22 8b 00 85 c0 75 f4 83 c3 01 0f b6 db 39 d9 75
[  161.597618] EIP: [<c10c92b0>] get_next_timer_interrupt+0x80/0x270 SS:ESP 0068:f3977ee8
[  161.597645] CR2: 0000000000000015
[  161.598185] ---[ end trace 43f94ff33c064faa ]---
[  161.598701] Kernel panic - not syncing: Attempted to kill the idle task!
[  161.599219] Kernel Offset: disabled
[  161.599778] ---[ end Kernel panic - not syncing: Attempted to kill the idle task!

What happens if you do (as root):

	echo 2-2:1.0 >/sys/bus/usb/drivers/usbhid/unbind

before unplugging the device?

Alan Stern

#2 lore raw
In reply to Pierre Sauter
Quoted 9 lines · Pierre Sauter

On unplugging this USB Touchscreen, everytime I get either:

[  161.596055] BUG: unable to handle kernel NULL pointer dereference at 00000015
[  161.596093] IP: [<c10c92b0>] get_next_timer_interrupt+0x80/0x270
or
[  155.892061] BUG: unable to handle kernel paging request at 30303046
[  155.892101] IP: [<c10d13da>] get_next_timer_interrupt+0x8a/0x290

and then panic and the system is unresponsive.

Please try the attached patch.

Regards
Oliver

From 50a2b0b9e53cae8c4d608e672dd3db93673bd350 Mon Sep 17 00:00:00 2001
From: Oliver Neukum <[email protected]>
Date: Tue, 31 May 2016 10:08:47 +0200
Subject: [PATCH] hid-elo: kill not flush the work

Flushing a work that reschedules itself is not a sensible operation. It needs to be killed.

---
 drivers/hid/hid-elo.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/hid/hid-elo.c +1 -1
index aad8c16..0cd4f72 100644
@@ -261,7 +261,7 @@ static void elo_remove(struct hid_device *hdev)
 	struct elo_priv *priv = hid_get_drvdata(hdev);
 
 	hid_hw_stop(hdev);
-	flush_workqueue(wq);
+	cancel_delayed_work_sync(&priv->work);
 	kfree(priv);
 }
 
Signature · 1 line
2.1.4
#3 lore raw

Works like a charm, problem fixed!
Thanks a lot.

I hope you submit the patch.

Best Regards

Signature · 9 lines
Pierre Sauter
Studentenwerk München
IT-Abteilung
Leopoldstraße 15
80802 München
Tel: +49 89 38196-157

-------
Am Dienstag, 31. Mai 2016, 10:13:10 schrieben Sie:
Quoted 16 lines · Pierre Sauter
Quoted 9 lines

On unplugging this USB Touchscreen, everytime I get either:

[  161.596055] BUG: unable to handle kernel NULL pointer dereference at 00000015
[  161.596093] IP: [<c10c92b0>] get_next_timer_interrupt+0x80/0x270
or
[  155.892061] BUG: unable to handle kernel paging request at 30303046
[  155.892101] IP: [<c10d13da>] get_next_timer_interrupt+0x8a/0x290

and then panic and the system is unresponsive.

Please try the attached patch.

Regards
Oliver