Re: uinput: ioctls for UI_BEGIN_FF_UPLOAD fails (returns -1). How to debug?
flat view
From: Manuel Reimer <hidden>
Date: 2016-03-31 17:46:55
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. I had a look at the kernel code and there are mutex locks, so at least it seems like it should be thread-safe. So what I don't understand is, if there are any limitations with the function "mutex_lock_interruptible" used by the kernel. As I have a big list of "write" in here: https://github.com/M-Reimer/pspaddrv/blob/master/uinput.c#L170 And this block is called at maximum speed the USB attached controller can deliver. I guess there is a really good chance that this function is hit between "EV_UINPUT" is received and my UI_BEGIN_FF_UPLOAD ioctl is sent. Will this conflict in some way? Of course, it is possible to prefilter the events, I plan to send to uinput. I can keep a copy of the last sent event block and compare each event to the old state before actually sending it. Is there any chance that this could help in this case? Thanks in advance Manuel