Thread (7 messages) 7 messages, 4 authors, 2013-05-29

Re: [PATCH] HID: input: return ENODATA if reading battery attrs fails

From: David Herrmann <hidden>
Date: 2013-05-24 14:02:09
Also in: lkml

Hi

On Mon, May 13, 2013 at 11:17 PM, Daniel Nicoletti [off-list ref] wrote:
2013/5/13 David Herrmann [off-list ref]:
quoted
Anyway, I'd still like to see this patch applied so we have this annoying
bug fixed. I'd be willing to change the power_supply core, too, if one of the
maintainers agrees on the design (David? Anton?).

And, @Daniel, can you check whether this actually fixes the bug? I don't own
a device that reports battery-information, but it at least fixes the same bug
for the hid-wiimote driver (tested by me).
Yes, it does fixes the bug. Now udevadm properly show add and remove events
and upower happily get's them.
But there is around  15 seconds block on the bluetooth stack, in other words
when connecting a device it seems to probe the device which blocks till
a timeout, and while that timeout doesn't finish other bluetooth
devices are also
blocked. It seems the devices aren't able to be probed so soon, possibly
because bluetooth didn't finished setting them up. Looking at udevadm output
I clearly see that it locks for around 3 times.
My kernel knowledge is rather limited but if you can give me tips or patches to
test I really want to see this code finally working properly, and sorry for
not realizing when I sent it that it had this issue...
The block occurs because power_supply core now tries all properties in
a row instead of aborting if the first fails (which is what we want).
However, bluetooth-core didn't allow I/O during probe so the timeout
got quite huge considering 3s for 5 different properties instead of 3s
once (which no-one noticed, yet..)

This is now fixed with the HIDP-patch pending on linux-input and
linux-bluetooth. For usbhid and uhid we already allow I/O during probe
so this does not happen there.

So I hope we can apply this for linux-next (probably after gustavo
applied the HIDP fix)?
Cheers
David
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help