Comment 24 for bug 326986

Revision history for this message
rs (r-schedel) wrote :

>Please let me know if anything else is needed.
OK, just checked your attachments.

The volume keys are used from the consumer page.This array range looks suspicious to me:
  Item(Global): Logical Minimum, data= [ 0x00 ] 0
  Item(Global): Logical Maximum, data= [ 0x01 ] 1

I would rather try to patch this to a range of 1..3. However, your kern log did not include the upper part with the descriptor as hex bytes, so I cannot easily guess patch positions. See the original poster who included some part starting with "report descriptor (size ..., read ...) = .....". Should also be shown when debug option is enabled.

Either you clipped this section off, or you used a brand-new 2.6.32rc kernel which exports this via debugfs only (to my knowledge, never tried). Can you please try to provide the hex dump? In drivers/hid/usbhid/hid-core.c from 2.6.29 the trace looked like
  dbg_hid("report descriptor (size %u, read %d) = ", rsize, n);...

>The volume keys result only one line of code (the press code only), that is why they stuck.
To me it seems like the press already triggers the release event too (value 0), so it might only look like a single event. Value 0/off is ignored because it is in the value range. But difficult to say w/o device.