Author: emax
Date: Wed Sep  8 20:00:27 2010
New Revision: 212335
URL: http://svn.freebsd.org/changeset/base/212335

Log:
  Make sure to only pickup hid_input items when parsing input reports.
  As it turns out, libusbhid(3) also picks up hic_collection items even
  though we explicitly requested hid_input items only.
  
  Tested by:    Buganini < buganini at gmail dot com >
  MFC after:    1 week

Modified:
  head/usr.sbin/bluetooth/bthidd/hid.c

Modified: head/usr.sbin/bluetooth/bthidd/hid.c
==============================================================================
--- head/usr.sbin/bluetooth/bthidd/hid.c        Wed Sep  8 20:00:15 2010        
(r212334)
+++ head/usr.sbin/bluetooth/bthidd/hid.c        Wed Sep  8 20:00:27 2010        
(r212335)
@@ -160,7 +160,8 @@ hid_interrupt(bthid_session_p s, uint8_t
 
        for (d = hid_start_parse(hid_device->desc, 1 << hid_input, -1);
             hid_get_item(d, &h) > 0; ) {
-               if ((h.flags & HIO_CONST) || (h.report_ID != report_id))
+               if ((h.flags & HIO_CONST) || (h.report_ID != report_id) ||
+                   (h.kind != hid_input))
                        continue;
 
                page = HID_PAGE(h.usage);
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to