Problem with drivers/usb/input/hid-core.c

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

 



Hi,

I tried posting to the linux-usb-devel list, but it seems to have died.

<Extract start>
/*
 * Analyse a received field, and fetch the data from it. The field
 * content is stored for next report processing (we do differential
 * reporting to the layer).
 */

static void hid_input_field(struct hid_device *hid, struct hid_field
*field, __u8 *data, int interrupt, struct pt_regs *regs)

<Extract end>

Why is "differential reporting to the layer" done?

I have a USB device that uses the interrupt urb to notify the PC of
events. Each time an event happens, a usb interrupt is created, and the
driver reads the value from the report. Most of the time the event
contains exactly the same report info as the previous interrupt. As a
result of this differential reporting, I only see the first event, and
then no more until the event changes. How can I get repeated events of
the same report up to user space? I am currently using the
/dev/usb/hiddev0 interface.

Any clues?

For now, I am removing the "differential reporting to the layer" code,
ensuring that all interrupt urbs reach the higher layers.

The "differential reporting" code must be there for a reason, does
anyone know why it is present?

James

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux