Re: uinput: ioctls for UI_BEGIN_FF_UPLOAD fails (returns -1). How to debug?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 03/31/2016 07:46 PM, Manuel Reimer wrote:
On 03/29/2016 06:48 PM, Manuel Reimer wrote:
As the idea was to publish this under GPL3 anyway, I've uploaded my
early development state:

https://github.com/M-Reimer/pspaddrv

I'm still getting the errors and I'm still not finding any reason for them.

Sorry for the spam, but my hope is that someone may have some hint that helps me to track this down.

To further narrow things down, I commented the following line:
https://github.com/M-Reimer/pspaddrv/blob/master/device-handler.c#L176

This means, that my code does no longer actually do any sending to uinput!

And.... I still have the same problem... :(

So in other words: As soon as the attached gamepad starts to send data to my daemon, the uinput interaction on the same daemon somehow gets influenced/completely blocked.

So the only explanation, I have for this, is that something wents really wrong somewhere deeper in the kernel. Maybe something with libusb/uinput in combination?

If the problem occurs, the system (I use a VM to not harm my main system) doesn't shut down properly.

In dmesg, I found the following:



[ 30.782513] input: Microsoft X-Box 360 pad as /devices/virtual/input/input9
[  240.130071] INFO: task fftest:379 blocked for more than 120 seconds.
[  240.381802]       Tainted: G           O    4.4.5-1-ARCH #1
[ 240.391841] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. [ 240.392592] fftest D ffff88003cda3ba8 0 379 371 0x00000000 [ 240.392596] ffff88003cda3ba8 ffff880037b84800 ffffffff81810500 ffff88003ce16040 [ 240.392598] ffff88003cda4000 ffff88003cda3d58 ffff88003cda3d50 0000000000000000 [ 240.392600] ffff88003ce16040 ffff88003cda3bc0 ffffffff815935ec 7fffffffffffffff
[  240.392601] Call Trace:
[  240.392608]  [<ffffffff815935ec>] schedule+0x3c/0x90
[  240.392611]  [<ffffffff81596086>] schedule_timeout+0x1d6/0x260
[  240.392613]  [<ffffffff81592e7a>] ? __schedule+0x3aa/0xae0
[  240.392615]  [<ffffffff815941a2>] wait_for_common+0xc2/0x180
[  240.392617]  [<ffffffff810a0ae0>] ? wake_up_q+0x70/0x70
[  240.392619]  [<ffffffff8159427d>] wait_for_completion+0x1d/0x20
[ 240.392624] [<ffffffffa039f728>] uinput_request_submit.part.0+0x98/0xb0 [uinput] [ 240.392626] [<ffffffffa03a0595>] uinput_dev_upload_effect+0x55/0x80 [uinput]
[  240.392629]  [<ffffffff8142f4c1>] input_ff_upload+0x181/0x300
[ 240.392632] [<ffffffffa0324d6b>] evdev_ioctl_handler+0xa8b/0x1150 [evdev]
[  240.392634]  [<ffffffff813a0810>] ? n_tty_open+0xe0/0xe0
[  240.392636]  [<ffffffffa0325460>] evdev_ioctl+0x10/0x12 [evdev]
[  240.392643]  [<ffffffff811f3258>] do_vfs_ioctl+0x298/0x480
[  240.392646]  [<ffffffff811e1662>] ? vfs_write+0x152/0x1a0
[  240.392648]  [<ffffffff811f34b9>] SyS_ioctl+0x79/0x90
[  240.392649]  [<ffffffff815970ee>] entry_SYSCALL_64_fastpath+0x12/0x6d
[  360.390898] INFO: task fftest:379 blocked for more than 120 seconds.
[  360.406008]       Tainted: G           O    4.4.5-1-ARCH #1
[ 360.406629] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. [ 360.407664] fftest D ffff88003cda3ba8 0 379 371 0x00000000 [ 360.407668] ffff88003cda3ba8 ffff880037b84800 ffffffff81810500 ffff88003ce16040 [ 360.407670] ffff88003cda4000 ffff88003cda3d58 ffff88003cda3d50 0000000000000000 [ 360.407671] ffff88003ce16040 ffff88003cda3bc0 ffffffff815935ec 7fffffffffffffff
[  360.407673] Call Trace:
[  360.407692]  [<ffffffff815935ec>] schedule+0x3c/0x90
[  360.407694]  [<ffffffff81596086>] schedule_timeout+0x1d6/0x260
[  360.407696]  [<ffffffff81592e7a>] ? __schedule+0x3aa/0xae0
[  360.407698]  [<ffffffff815941a2>] wait_for_common+0xc2/0x180
[  360.407701]  [<ffffffff810a0ae0>] ? wake_up_q+0x70/0x70
[  360.407702]  [<ffffffff8159427d>] wait_for_completion+0x1d/0x20
[ 360.407707] [<ffffffffa039f728>] uinput_request_submit.part.0+0x98/0xb0 [uinput] [ 360.407708] [<ffffffffa03a0595>] uinput_dev_upload_effect+0x55/0x80 [uinput]
[  360.407711]  [<ffffffff8142f4c1>] input_ff_upload+0x181/0x300
[ 360.407715] [<ffffffffa0324d6b>] evdev_ioctl_handler+0xa8b/0x1150 [evdev]
[  360.407717]  [<ffffffff813a0810>] ? n_tty_open+0xe0/0xe0
[  360.407719]  [<ffffffffa0325460>] evdev_ioctl+0x10/0x12 [evdev]
[  360.407721]  [<ffffffff811f3258>] do_vfs_ioctl+0x298/0x480
[  360.407724]  [<ffffffff811e1662>] ? vfs_write+0x152/0x1a0
[  360.407725]  [<ffffffff811f34b9>] SyS_ioctl+0x79/0x90
[  360.407727]  [<ffffffff815970ee>] entry_SYSCALL_64_fastpath+0x12/0x6d


Maybe someone can help to find the reason... To be honest, I start to give up to get a proper input driver done with Linux... :( Every attempt, so far, ended in the kernel hanging somehow...

Thank you very much in advance for any help.

Manuel
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux