Message ID | 20150721170133.GA39076@dtor-ws (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Tue 2015-07-21 10:01:33, Dmitry Torokhov wrote: > On Tue, Jul 21, 2015 at 01:14:39PM +0200, Vlastimil Babka wrote: > > On 06/09/2015 07:42 PM, Dmitry Torokhov wrote: > > > From: Samuel Thibault <samuel.thibault@ens-lyon.org> > > > > > > This change creates a new input handler called "leds" that exports LEDs on input > > > devices as standard LED class devices in sysfs and allows controlling their > > > ptate via sysfs or via any of the standard LED triggers. This allows to > > > re-purpose and reassign LDEs on the keyboards to represent states other > > > than the standard keyboard states (CapsLock, NumLock, etc). > > > > > > The old API of controlling input LEDs by writing into /dev/input/eventX > > > devices is still present and will take precedence over acessing via LEDs > > > subsystem (i.e. it may override state set by a trigger). If input device is > > > "grabbed" then requests coming through LED subsystem will be ignored. > > > > > > Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org> > > > Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> > > > --- > > > > > + led_no = 0; > > > + for_each_set_bit(led_code, dev->ledbit, LED_CNT) { > > > + struct input_led *led = &leds->leds[led_no]; > > > + > > > + led->handle = &leds->handle; > > > + led->code = led_code; > > > + > > > + if (WARN_ON(!input_led_info[led_code].name)) > > > + continue; > > > + > > > > Hi, > > I get several warnings on booting 4.2-rc2 here. Should I be worried? > > > > [ 2.782432] ------------[ cut here ]------------ > > [ 2.782440] WARNING: CPU: 2 PID: 356 at ../drivers/input/input-leds.c:115 input_leds_connect+0x22b/0x260() > > [ 2.782441] Modules linked in: btrfs xor raid6_pq crc32c_intel radeon i2c_algo_bit sr_mod cdrom drm_kms_helper ttm e1000e drm xhci_pci ptp pps_core xhci_hcd sg > > [ 2.782453] CPU: 2 PID: 356 Comm: kworker/2:2 Not tainted 4.2.0-rc2-1.g288d56b-desktop #1 > > [ 2.782454] Hardware name: Dell Inc. OptiPlex 9010/0M9KCM, BIOS A13 03/27/2013 > > [ 2.782458] Workqueue: usb_hub_wq hub_event > > [ 2.782459] ffffffff81a917b7 ffff880213ecf298 ffffffff8169f19d 0000000000000007 > > [ 2.782462] 0000000000000000 ffff880213ecf2d8 ffffffff810674f6 ffff880213ecf2f8 > > [ 2.782463] ffff8802132fb000 0000000000000003 000000000000000b ffff8800369ff000 > > [ 2.782465] Call Trace: > > [ 2.782470] [<ffffffff8169f19d>] dump_stack+0x4c/0x6e > > [ 2.782474] [<ffffffff810674f6>] warn_slowpath_common+0x86/0xc0 > > [ 2.782476] [<ffffffff810675ea>] warn_slowpath_null+0x1a/0x20 > > [ 2.782478] [<ffffffff8152ccdb>] input_leds_connect+0x22b/0x260 > > [ 2.782480] [<ffffffff815281b2>] input_attach_handler+0x1a2/0x1f0 > > [ 2.782483] [<ffffffff81528640>] input_register_device+0x440/0x4f0 > > [ 2.782486] [<ffffffff8156e494>] hidinput_connect+0x334/0x5d0 > > [ 2.782488] [<ffffffff815683d4>] hid_connect+0x324/0x400 > > No, this is benign. I guess your keyboard has more LEDs than input > system has defined or several usages refer to the same LED. Can we get rid of WARN_ON, then? It is nasty to flood logs, and people are likely to flood our inboxes, soon. printk(KERN_ERR) should be adequate... Thanks, Pavel
On 07/21/2015 11:08 PM, Pavel Machek wrote: > On Tue 2015-07-21 10:01:33, Dmitry Torokhov wrote: >> On Tue, Jul 21, 2015 at 01:14:39PM +0200, Vlastimil Babka wrote: >>> On 06/09/2015 07:42 PM, Dmitry Torokhov wrote: >>>> From: Samuel Thibault <samuel.thibault@ens-lyon.org> >>>> >>>> This change creates a new input handler called "leds" that exports LEDs on input >>>> devices as standard LED class devices in sysfs and allows controlling their >>>> ptate via sysfs or via any of the standard LED triggers. This allows to >>>> re-purpose and reassign LDEs on the keyboards to represent states other >>>> than the standard keyboard states (CapsLock, NumLock, etc). >>>> >>>> The old API of controlling input LEDs by writing into /dev/input/eventX >>>> devices is still present and will take precedence over acessing via LEDs >>>> subsystem (i.e. it may override state set by a trigger). If input device is >>>> "grabbed" then requests coming through LED subsystem will be ignored. >>>> >>>> Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org> >>>> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> >>>> --- >>> >>>> + led_no = 0; >>>> + for_each_set_bit(led_code, dev->ledbit, LED_CNT) { >>>> + struct input_led *led = &leds->leds[led_no]; >>>> + >>>> + led->handle = &leds->handle; >>>> + led->code = led_code; >>>> + >>>> + if (WARN_ON(!input_led_info[led_code].name)) >>>> + continue; >>>> + >>> >>> Hi, >>> I get several warnings on booting 4.2-rc2 here. Should I be worried? >>> >>> [ 2.782432] ------------[ cut here ]------------ >>> [ 2.782440] WARNING: CPU: 2 PID: 356 at ../drivers/input/input-leds.c:115 input_leds_connect+0x22b/0x260() >>> [ 2.782441] Modules linked in: btrfs xor raid6_pq crc32c_intel radeon i2c_algo_bit sr_mod cdrom drm_kms_helper ttm e1000e drm xhci_pci ptp pps_core xhci_hcd sg >>> [ 2.782453] CPU: 2 PID: 356 Comm: kworker/2:2 Not tainted 4.2.0-rc2-1.g288d56b-desktop #1 >>> [ 2.782454] Hardware name: Dell Inc. OptiPlex 9010/0M9KCM, BIOS A13 03/27/2013 >>> [ 2.782458] Workqueue: usb_hub_wq hub_event >>> [ 2.782459] ffffffff81a917b7 ffff880213ecf298 ffffffff8169f19d 0000000000000007 >>> [ 2.782462] 0000000000000000 ffff880213ecf2d8 ffffffff810674f6 ffff880213ecf2f8 >>> [ 2.782463] ffff8802132fb000 0000000000000003 000000000000000b ffff8800369ff000 >>> [ 2.782465] Call Trace: >>> [ 2.782470] [<ffffffff8169f19d>] dump_stack+0x4c/0x6e >>> [ 2.782474] [<ffffffff810674f6>] warn_slowpath_common+0x86/0xc0 >>> [ 2.782476] [<ffffffff810675ea>] warn_slowpath_null+0x1a/0x20 >>> [ 2.782478] [<ffffffff8152ccdb>] input_leds_connect+0x22b/0x260 >>> [ 2.782480] [<ffffffff815281b2>] input_attach_handler+0x1a2/0x1f0 >>> [ 2.782483] [<ffffffff81528640>] input_register_device+0x440/0x4f0 >>> [ 2.782486] [<ffffffff8156e494>] hidinput_connect+0x334/0x5d0 >>> [ 2.782488] [<ffffffff815683d4>] hid_connect+0x324/0x400 >> >> No, this is benign. I guess your keyboard has more LEDs than input >> system has defined or several usages refer to the same LED. It's a mouse actually: [ 69.413682] usb 3-4: new low-speed USB device number 3 using xhci_hcd [ 69.587651] usb 3-4: New USB device found, idVendor=046d, idProduct=c50e [ 69.587656] usb 3-4: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 69.587659] usb 3-4: Product: USB Receiver [ 69.587661] usb 3-4: Manufacturer: Logitech [ 69.587865] usb 3-4: ep 0x81 - rounding interval to 64 microframes, ep desc says 80 microframes [ 69.596494] input: Logitech USB Receiver as /devices/pci0000:00/0000:00:14.0/usb3/3-4/3-4:1.0/0003:046D:C50E.0003/input/input14 followed by 5 warnings as the one I posted (all look the same at first glance) and then: [ 69.648581] hid-generic 0003:046D:C50E.0003: input,hidraw2: USB HID v1.11 Mouse [Logitech USB Receiver] on usb-0000:00:14.0-4/input0 The mouse has 3 green leds and one red to indicate battery status, but I think they operate autonomously. > Can we get rid of WARN_ON, then? It is nasty to flood logs, and people > are likely to flood our inboxes, soon. printk(KERN_ERR) should be > adequate... I agree warning like this is inappropriate. But unfortunately things get worse when I try to unplug the receiver... Jul 22 14:46:11 gusiac kernel: BUG: unable to handle kernel NULL pointer dereference at (null) Jul 22 14:46:11 gusiac kernel: IP: [<ffffffff8147d807>] device_del+0x17/0x260 Jul 22 14:46:11 gusiac kernel: PGD 0 Jul 22 14:46:12 gusiac kernel: Oops: 0000 [#1] PREEMPT SMP Jul 22 14:46:12 gusiac kernel: Modules linked in: bnep bluetooth rfkill fuse nfsv3 nfs_acl rpcsec_gss_krb5 auth_rpcgss nfsv4 dns_resolver nfs lockd grace sunrpc fscache iscsi_ibft iscsi_boo Jul 22 14:46:12 gusiac kernel: drm xhci_hcd sg Jul 22 14:46:12 gusiac kernel: CPU: 6 PID: 194 Comm: kworker/6:1 Tainted: G W 4.2.0-rc2-2.g7010139-desktop #1 Jul 22 14:46:12 gusiac kernel: Hardware name: Dell Inc. OptiPlex 9010/0M9KCM, BIOS A13 03/27/2013 Jul 22 14:46:12 gusiac kernel: Workqueue: usb_hub_wq hub_event Jul 22 14:46:12 gusiac kernel: task: ffff880213d28100 ti: ffff880213c8c000 task.ti: ffff880213c8c000 Jul 22 14:46:12 gusiac kernel: RIP: 0010:[<ffffffff8147d807>] [<ffffffff8147d807>] device_del+0x17/0x260 Jul 22 14:46:12 gusiac kernel: RSP: 0018:ffff880213c8f828 EFLAGS: 00010286 Jul 22 14:46:12 gusiac kernel: RAX: 00000000ffffffea RBX: 0000000000000000 RCX: 0000000000000000 Jul 22 14:46:12 gusiac kernel: RDX: 0000000000000001 RSI: 0000000000000000 RDI: 0000000000000000 Jul 22 14:46:12 gusiac kernel: RBP: ffff880213c8f868 R08: 0000000000000000 R09: ffffffff8135b2b0 Jul 22 14:46:12 gusiac kernel: R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000 Jul 22 14:46:12 gusiac kernel: R13: ffff880213622000 R14: ffff880213622000 R15: ffff880213d618d0 Jul 22 14:46:12 gusiac kernel: FS: 0000000000000000(0000) GS:ffff88021dd80000(0000) knlGS:0000000000000000 Jul 22 14:46:12 gusiac kernel: CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 Jul 22 14:46:12 gusiac kernel: CR2: 0000000000000000 CR3: 0000000001c0c000 CR4: 00000000001407e0 Jul 22 14:46:12 gusiac kernel: Stack: Jul 22 14:46:12 gusiac kernel: ffff88003697dc10 0000000000000292 ffff880213622540 ffff8802136225c8 Jul 22 14:46:12 gusiac kernel: 0000000000000000 ffff8802136225c8 ffff880213622000 ffff880213622000 Jul 22 14:46:12 gusiac kernel: ffff880213c8f888 ffffffff8147da72 ffff880213c8f888 ffff8802136224d0 Jul 22 14:46:12 gusiac kernel: Call Trace: Jul 22 14:46:12 gusiac kernel: [<ffffffff8147da72>] device_unregister+0x22/0x70 Jul 22 14:46:12 gusiac kernel: [<ffffffff81560c61>] led_classdev_unregister+0x61/0xb0 Jul 22 14:46:12 gusiac kernel: [<ffffffff8152ca1a>] input_leds_disconnect+0x3a/0x70 Jul 22 14:46:12 gusiac kernel: [<ffffffff81529e2c>] __input_unregister_device+0xac/0x170 Jul 22 14:46:12 gusiac kernel: [<ffffffff81529faf>] input_unregister_device+0x4f/0x80 Jul 22 14:46:12 gusiac kernel: [<ffffffff8156b358>] hidinput_disconnect+0x98/0xd0 Jul 22 14:46:12 gusiac kernel: [<ffffffff81568526>] hid_disconnect+0x76/0x80 Jul 22 14:46:12 gusiac kernel: [<ffffffff815685ea>] hid_device_remove+0xba/0xd0 Jul 22 14:46:12 gusiac kernel: [<ffffffff81481b11>] __device_release_driver+0xa1/0x150 Jul 22 14:46:12 gusiac kernel: [<ffffffff81481be3>] device_release_driver+0x23/0x30 Jul 22 14:46:12 gusiac kernel: [<ffffffff81481285>] bus_remove_device+0x105/0x180 Jul 22 14:46:12 gusiac kernel: [<ffffffff8147d929>] device_del+0x139/0x260 Jul 22 14:46:12 gusiac kernel: [<ffffffff81568687>] hid_destroy_device+0x27/0x60 Jul 22 14:46:12 gusiac kernel: [<ffffffff815766cd>] usbhid_disconnect+0x4d/0x80 Jul 22 14:46:12 gusiac kernel: [<ffffffff814fd8c3>] usb_unbind_interface+0x83/0x270 Jul 22 14:46:12 gusiac kernel: [<ffffffff8148c57b>] ? rpm_idle+0x5b/0x260 Jul 22 14:46:12 gusiac kernel: [<ffffffff81481b11>] __device_release_driver+0xa1/0x150 Jul 22 14:46:12 gusiac kernel: [<ffffffff81481be3>] device_release_driver+0x23/0x30 Jul 22 14:46:12 gusiac kernel: [<ffffffff81481285>] bus_remove_device+0x105/0x180 Jul 22 14:46:12 gusiac kernel: [<ffffffff8147d929>] device_del+0x139/0x260 Jul 22 14:46:12 gusiac kernel: [<ffffffff814fb169>] usb_disable_device+0x89/0x270 Jul 22 14:46:12 gusiac kernel: [<ffffffff814f0d02>] usb_disconnect+0x92/0x2b0 Jul 22 14:46:12 gusiac kernel: [<ffffffff814f2993>] hub_port_connect+0x73/0x9c0 Jul 22 14:46:12 gusiac kernel: [<ffffffff814f39b1>] hub_event+0x6d1/0xb10 Jul 22 14:46:12 gusiac kernel: [<ffffffff8109dd5b>] ? dequeue_task_fair+0x36b/0x700 Jul 22 14:46:12 gusiac kernel: [<ffffffff8109d121>] ? put_prev_entity+0x31/0x420 Jul 22 14:46:12 gusiac kernel: [<ffffffff8107f039>] process_one_work+0x159/0x470 Jul 22 14:46:12 gusiac kernel: [<ffffffff8107f398>] worker_thread+0x48/0x4a0 Jul 22 14:46:12 gusiac kernel: [<ffffffff8107f350>] ? process_one_work+0x470/0x470 Jul 22 14:46:12 gusiac kernel: [<ffffffff8107f350>] ? process_one_work+0x470/0x470 Jul 22 14:46:12 gusiac kernel: [<ffffffff81085089>] kthread+0xc9/0xe0 Jul 22 14:46:12 gusiac kernel: [<ffffffff81084fc0>] ? kthread_worker_fn+0x170/0x170 Jul 22 14:46:12 gusiac kernel: [<ffffffff816a55df>] ret_from_fork+0x3f/0x70 Jul 22 14:46:12 gusiac kernel: [<ffffffff81084fc0>] ? kthread_worker_fn+0x170/0x170 Jul 22 14:46:12 gusiac kernel: Code: 48 89 d7 48 89 e5 e8 89 ff ff ff 5d c3 0f 1f 80 00 00 00 00 0f 1f 44 00 00 55 48 89 e5 41 56 41 55 41 54 53 49 89 fc 48 83 ec 20 <4c> 8b 2f 65 48 8b 04 Jul 22 14:46:12 gusiac kernel: RIP [<ffffffff8147d807>] device_del+0x17/0x260 Jul 22 14:46:12 gusiac kernel: RSP <ffff880213c8f828> Jul 22 14:46:12 gusiac kernel: CR2: 0000000000000000 Jul 22 14:46:12 gusiac kernel: ---[ end trace 0f333fa3e11a3225 ]--- Jul 22 14:46:12 gusiac kernel: BUG: unable to handle kernel paging request at ffffffffffffffd8 Jul 22 14:46:12 gusiac kernel: IP: [<ffffffff810854f0>] kthread_data+0x10/0x20 Jul 22 14:46:12 gusiac kernel: PGD 1c0d067 PUD 1c0f067 PMD 0 Jul 22 14:46:12 gusiac kernel: Oops: 0000 [#2] PREEMPT SMP Jul 22 14:46:12 gusiac kernel: Modules linked in: bnep bluetooth rfkill fuse nfsv3 nfs_acl rpcsec_gss_krb5 auth_rpcgss nfsv4 dns_resolver nfs lockd grace sunrpc fscache iscsi_ibft iscsi_boo Jul 22 14:46:12 gusiac kernel: drm xhci_hcd sg Jul 22 14:46:12 gusiac kernel: CPU: 6 PID: 194 Comm: kworker/6:1 Tainted: G D W 4.2.0-rc2-2.g7010139-desktop #1 Jul 22 14:46:12 gusiac kernel: Hardware name: Dell Inc. OptiPlex 9010/0M9KCM, BIOS A13 03/27/2013 Jul 22 14:46:12 gusiac kernel: task: ffff880213d28100 ti: ffff880213c8c000 task.ti: ffff880213c8c000 Jul 22 14:46:12 gusiac kernel: RIP: 0010:[<ffffffff810854f0>] [<ffffffff810854f0>] kthread_data+0x10/0x20 Jul 22 14:46:12 gusiac kernel: RSP: 0018:ffff880213c8f4c8 EFLAGS: 00010096 Jul 22 14:46:12 gusiac kernel: RAX: 0000000000000000 RBX: 0000000000000006 RCX: 0000000000000005 Jul 22 14:46:12 gusiac kernel: RDX: 0000000000000005 RSI: 0000000000000006 RDI: ffff880213d28100 Jul 22 14:46:12 gusiac kernel: RBP: ffff880213c8f4c8 R08: 00000000ffffffff R09: 0000000000000000 Jul 22 14:46:12 gusiac kernel: R10: 0000000073f4002f R11: 000000000000002f R12: 0000000000015600 Jul 22 14:46:12 gusiac kernel: R13: ffff88021dd95600 R14: ffff880213d28100 R15: 0000000000000006 Jul 22 14:46:12 gusiac kernel: FS: 0000000000000000(0000) GS:ffff88021dd80000(0000) knlGS:0000000000000000 Jul 22 14:46:12 gusiac kernel: CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 Jul 22 14:46:12 gusiac kernel: CR2: 0000000000000028 CR3: 0000000001c0c000 CR4: 00000000001407e0 Jul 22 14:46:12 gusiac kernel: Stack: Jul 22 14:46:12 gusiac kernel: ffff880213c8f4e8 ffffffff8107fd55 ffff880213c8f4e8 ffff88021dd95600 Jul 22 14:46:12 gusiac kernel: ffff880213c8f538 ffffffff816a0bc7 ffff880200000000 ffff880213d28100 Jul 22 14:46:12 gusiac kernel: ffff880036d77cc0 ffff880213c90000 ffff880213d28d70 ffff880213c8f0c0 Jul 22 14:46:12 gusiac kernel: Call Trace: Jul 22 14:46:12 gusiac kernel: [<ffffffff8107fd55>] wq_worker_sleeping+0x15/0xa0 Jul 22 14:46:12 gusiac kernel: [<ffffffff816a0bc7>] __schedule+0x667/0x970 Jul 22 14:46:12 gusiac kernel: [<ffffffff816a0f0e>] schedule+0x3e/0x90 Jul 22 14:46:12 gusiac kernel: [<ffffffff8106a096>] do_exit+0x806/0xb00 Jul 22 14:46:12 gusiac kernel: [<ffffffff8100753e>] oops_end+0x9e/0xd0 Jul 22 14:46:12 gusiac kernel: [<ffffffff810532eb>] no_context+0x10b/0x360 Jul 22 14:46:12 gusiac kernel: [<ffffffff810535c0>] __bad_area_nosemaphore+0x80/0x1f0 Jul 22 14:46:12 gusiac kernel: [<ffffffff81053743>] bad_area_nosemaphore+0x13/0x20 Jul 22 14:46:12 gusiac kernel: [<ffffffff81053a29>] __do_page_fault+0xb9/0x410 Jul 22 14:46:12 gusiac kernel: [<ffffffff815d8186>] ? netlink_broadcast_filtered+0x136/0x3b0 Jul 22 14:46:12 gusiac kernel: [<ffffffff81053da2>] do_page_fault+0x22/0x30 Jul 22 14:46:12 gusiac kernel: [<ffffffff816a6f88>] page_fault+0x28/0x30 Jul 22 14:46:12 gusiac kernel: [<ffffffff8135b2b0>] ? cleanup_uevent_env+0x10/0x10 Jul 22 14:46:12 gusiac kernel: [<ffffffff8147d807>] ? device_del+0x17/0x260 Jul 22 14:46:12 gusiac kernel: [<ffffffff810d0f3f>] ? try_to_del_timer_sync+0x4f/0x70 Jul 22 14:46:12 gusiac kernel: [<ffffffff8147da72>] device_unregister+0x22/0x70 Jul 22 14:46:12 gusiac kernel: [<ffffffff81560c61>] led_classdev_unregister+0x61/0xb0 Jul 22 14:46:12 gusiac kernel: [<ffffffff8152ca1a>] input_leds_disconnect+0x3a/0x70 Jul 22 14:46:12 gusiac kernel: [<ffffffff81529e2c>] __input_unregister_device+0xac/0x170 Jul 22 14:46:12 gusiac kernel: [<ffffffff81529faf>] input_unregister_device+0x4f/0x80 Jul 22 14:46:12 gusiac kernel: [<ffffffff8156b358>] hidinput_disconnect+0x98/0xd0 Jul 22 14:46:12 gusiac kernel: [<ffffffff81568526>] hid_disconnect+0x76/0x80 Jul 22 14:46:12 gusiac kernel: [<ffffffff815685ea>] hid_device_remove+0xba/0xd0 Jul 22 14:46:12 gusiac kernel: [<ffffffff81481b11>] __device_release_driver+0xa1/0x150 Jul 22 14:46:12 gusiac kernel: [<ffffffff81481be3>] device_release_driver+0x23/0x30 Jul 22 14:46:12 gusiac kernel: [<ffffffff81481285>] bus_remove_device+0x105/0x180 Jul 22 14:46:12 gusiac kernel: [<ffffffff8147d929>] device_del+0x139/0x260 Jul 22 14:46:12 gusiac kernel: [<ffffffff81568687>] hid_destroy_device+0x27/0x60 Jul 22 14:46:12 gusiac kernel: [<ffffffff815766cd>] usbhid_disconnect+0x4d/0x80 Jul 22 14:46:12 gusiac kernel: [<ffffffff814fd8c3>] usb_unbind_interface+0x83/0x270 Jul 22 14:46:12 gusiac kernel: [<ffffffff8148c57b>] ? rpm_idle+0x5b/0x260 Jul 22 14:46:12 gusiac kernel: [<ffffffff81481b11>] __device_release_driver+0xa1/0x150 Jul 22 14:46:12 gusiac kernel: [<ffffffff81481be3>] device_release_driver+0x23/0x30 Jul 22 14:46:12 gusiac kernel: [<ffffffff81481285>] bus_remove_device+0x105/0x180 Jul 22 14:46:12 gusiac kernel: [<ffffffff8147d929>] device_del+0x139/0x260 Jul 22 14:46:12 gusiac kernel: [<ffffffff814fb169>] usb_disable_device+0x89/0x270 Jul 22 14:46:12 gusiac kernel: [<ffffffff814f0d02>] usb_disconnect+0x92/0x2b0 Jul 22 14:46:12 gusiac kernel: [<ffffffff814f2993>] hub_port_connect+0x73/0x9c0 Jul 22 14:46:12 gusiac kernel: [<ffffffff814f39b1>] hub_event+0x6d1/0xb10 Jul 22 14:46:12 gusiac kernel: [<ffffffff8109dd5b>] ? dequeue_task_fair+0x36b/0x700 Jul 22 14:46:12 gusiac kernel: [<ffffffff8109d121>] ? put_prev_entity+0x31/0x420 Jul 22 14:46:12 gusiac kernel: [<ffffffff8107f039>] process_one_work+0x159/0x470 Jul 22 14:46:12 gusiac kernel: [<ffffffff8107f398>] worker_thread+0x48/0x4a0 Jul 22 14:46:12 gusiac kernel: [<ffffffff8107f350>] ? process_one_work+0x470/0x470 Jul 22 14:46:12 gusiac kernel: [<ffffffff8107f350>] ? process_one_work+0x470/0x470 Jul 22 14:46:12 gusiac kernel: [<ffffffff81085089>] kthread+0xc9/0xe0 Jul 22 14:46:12 gusiac kernel: [<ffffffff81084fc0>] ? kthread_worker_fn+0x170/0x170 Jul 22 14:46:12 gusiac kernel: [<ffffffff816a55df>] ret_from_fork+0x3f/0x70 Jul 22 14:46:12 gusiac kernel: [<ffffffff81084fc0>] ? kthread_worker_fn+0x170/0x170 Jul 22 14:46:12 gusiac kernel: Code: 00 48 89 e5 5d 48 8b 40 c8 48 c1 e8 02 83 e0 01 c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 48 8b 87 60 05 00 00 55 48 89 e5 <48> 8b 40 d8 5d c3 66 Jul 22 14:46:12 gusiac kernel: RIP [<ffffffff810854f0>] kthread_data+0x10/0x20 Jul 22 14:46:12 gusiac kernel: RSP <ffff880213c8f4c8> Jul 22 14:46:12 gusiac kernel: CR2: ffffffffffffffd8 Jul 22 14:46:12 gusiac kernel: ---[ end trace 0f333fa3e11a3226 ]--- Jul 22 14:46:12 gusiac kernel: Fixing recursive fault but reboot is needed! I think some more followed including rcu stall etc, but were not logged permanently. I suspect the warnings and the bugs are related :) I'll now try collect the debug prints you suggested. > Thanks, > Pavel > -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 07/21/2015 07:01 PM, Dmitry Torokhov wrote: > No, this is benign. I guess your keyboard has more LEDs than input > system has defined or several usages refer to the same LED. > > Can you try debug patch below and post the messages? > [ 101.805120] usb 3-4: new low-speed USB device number 3 using xhci_hcd [ 101.979584] usb 3-4: New USB device found, idVendor=046d, idProduct=c50e [ 101.979589] usb 3-4: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 101.979592] usb 3-4: Product: USB Receiver [ 101.979594] usb 3-4: Manufacturer: Logitech [ 101.979805] usb 3-4: ep 0x81 - rounding interval to 64 microframes, ep desc says 80 microframes [ 101.989010] hid-generic 0003:046D:C50E.0003: Mapped LED usage 4b as LED 8 [ 101.989014] hid-generic 0003:046D:C50E.0003: Mapped LED usage 4b as LED 8 [ 101.989017] hid-generic 0003:046D:C50E.0003: Mapped LED usage 4b as LED 8 [ 101.989019] hid-generic 0003:046D:C50E.0003: Mapped LED usage 4b as LED 8 [ 101.989021] hid-generic 0003:046D:C50E.0003: Mapped LED usage 4b as LED 8 [ 101.989023] hid-generic 0003:046D:C50E.0003: Mapped LED usage 4b as LED 8 [ 101.989025] hid-generic 0003:046D:C50E.0003: Mapped LED usage 4b as LED 8 [ 101.989027] hid-generic 0003:046D:C50E.0003: Mapped LED usage 4b as LED 8 [ 101.989091] input: Logitech USB Receiver as /devices/pci0000:00/0000:00:14.0/usb3/3-4/3-4:1.0/0003:046D:C50E.0003/input/input14 [ 102.039320] ------------[ cut here ]------------ [ 102.039329] WARNING: CPU: 6 PID: 168 at ../drivers/input/input-leds.c:115 input_leds_connect+0x22b/0x260() (5 WARNINGs as before) [ 102.040729] hid-generic 0003:046D:C50E.0003: input,hidraw2: USB HID v1.11 Mouse [Logitech USB Receiver] on usb-0000:00:14.0-4/input0 -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Wed, 22 Jul 2015, Vlastimil Babka wrote: [ ... snip ... ] > The mouse has 3 green leds and one red to indicate battery status, but I think > they operate autonomously. It's possible that the mouse is presenting them in the report descriptor though (and maybe it's even possible to control them from the host). Could you please provide contents of /sys/kernel/debug/hid/<device>/rdesc
On 07/22/2015 08:55 PM, Jiri Kosina wrote: > On Wed, 22 Jul 2015, Vlastimil Babka wrote: > > [ ... snip ... ] >> The mouse has 3 green leds and one red to indicate battery status, but I think >> they operate autonomously. > > It's possible that the mouse is presenting them in the report descriptor > though (and maybe it's even possible to control them from the host). > > Could you please provide contents of > > /sys/kernel/debug/hid/<device>/rdesc For the record, below. I wonder why there's two more "LED.?" lines (7) than the warnings I get (5)? gusiac:~ # cat /sys/kernel/debug/hid/0003\:046D\:C50E.0003/rdesc 05 01 09 02 a1 01 09 01 a1 00 05 09 19 01 29 08 15 00 25 01 95 08 75 01 81 02 05 01 09 30 09 31 09 38 15 81 25 7f 75 08 95 03 81 06 c0 05 0c 0a 38 02 95 01 81 06 09 3c 15 00 25 01 75 01 95 01 b1 22 95 07 b1 01 05 08 09 4b 15 00 25 01 95 08 75 01 81 02 05 09 19 09 29 10 81 02 c0 INPUT[INPUT] Field(0) Physical(GenericDesktop.Pointer) Application(GenericDesktop.Mouse) Usage(8) Button.0001 Button.0002 Button.0003 Button.0004 Button.0005 Button.0006 Button.0007 Button.0008 Logical Minimum(0) Logical Maximum(1) Report Size(1) Report Count(8) Report Offset(0) Flags( Variable Absolute ) Field(1) Physical(GenericDesktop.Pointer) Application(GenericDesktop.Mouse) Usage(3) GenericDesktop.X GenericDesktop.Y GenericDesktop.Wheel Logical Minimum(-127) Logical Maximum(127) Report Size(8) Report Count(3) Report Offset(8) Flags( Variable Relative ) Field(2) Application(GenericDesktop.Mouse) Usage(1) Consumer.HorizontalWheel Logical Minimum(-127) Logical Maximum(127) Report Size(8) Report Count(1) Report Offset(32) Flags( Variable Relative ) Field(3) Application(GenericDesktop.Mouse) Usage(8) LED.GenericIndicator LED.GenericIndicator LED.GenericIndicator LED.GenericIndicator LED.GenericIndicator LED.GenericIndicator LED.GenericIndicator LED.GenericIndicator Logical Minimum(0) Logical Maximum(1) Report Size(1) Report Count(8) Report Offset(40) Flags( Variable Absolute ) Field(4) Application(GenericDesktop.Mouse) Usage(8) Button.0009 Button.000a Button.000b Button.000c Button.000d Button.000e Button.000f Button.0010 Logical Minimum(0) Logical Maximum(1) Report Size(1) Report Count(8) Report Offset(48) Flags( Variable Absolute ) FEATURE[FEATURE] Field(0) Application(GenericDesktop.Mouse) Usage(1) Consumer.003c Logical Minimum(0) Logical Maximum(1) Report Size(1) Report Count(1) Report Offset(0) Flags( Variable Absolute NoPreferredState ) Button.0001 ---> Key.LeftBtn Button.0002 ---> Key.RightBtn Button.0003 ---> Key.MiddleBtn Button.0004 ---> Key.SideBtn Button.0005 ---> Key.ExtraBtn Button.0006 ---> Key.ForwardBtn Button.0007 ---> Key.BackBtn Button.0008 ---> Key.TaskBtn GenericDesktop.X ---> Relative.X GenericDesktop.Y ---> Relative.Y GenericDesktop.Wheel ---> Relative.Wheel Consumer.HorizontalWheel ---> Relative.HWheel LED.GenericIndicator ---> LED.Misc LED.GenericIndicator ---> LED.? LED.GenericIndicator ---> LED.? LED.GenericIndicator ---> LED.? LED.GenericIndicator ---> LED.? LED.GenericIndicator ---> LED.? LED.GenericIndicator ---> LED.? LED.GenericIndicator ---> LED.? Button.0009 ---> Key.? Button.000a ---> Key.? Button.000b ---> Key.? Button.000c ---> Key.? Button.000d ---> Key.? Button.000e ---> Key.? Button.000f ---> Key.? Button.0010 ---> Key.? -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Thu, 23 Jul 2015, Vlastimil Babka wrote: > On 07/22/2015 08:55 PM, Jiri Kosina wrote: > > On Wed, 22 Jul 2015, Vlastimil Babka wrote: > > > > [ ... snip ... ] > >> The mouse has 3 green leds and one red to indicate battery status, but I think > >> they operate autonomously. > > > > It's possible that the mouse is presenting them in the report descriptor > > though (and maybe it's even possible to control them from the host). > > > > Could you please provide contents of > > > > /sys/kernel/debug/hid/<device>/rdesc > > For the record, below. I wonder why there's two more "LED.?" lines (7) than the > warnings I get (5)? Because some of them get successfully (re-)mapped to named LEDs.
diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c index 14aebe4..8690a84 100644 --- a/drivers/hid/hid-input.c +++ b/drivers/hid/hid-input.c @@ -657,6 +657,7 @@ static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel default: goto ignore; } + hid_info(device, "Mapped LED usage %02x as LED %d\n", usage->hid & 0xffff, usage->code); break; case HID_UP_DIGITIZER: @@ -971,6 +972,8 @@ static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel if (field->report_size == 1) { if (field->report->type == HID_OUTPUT_REPORT) { map_led(LED_MISC); + hid_info(device, "Mapped output report usage %08x as MISC LED %d\n", + usage->hid, usage->code); break; } map_key(BTN_MISC);