svn commit: r268739 - stable/9/sys/dev/usb/input
Hans Petter Selasky
hselasky at FreeBSD.org
Wed Jul 16 06:23:54 UTC 2014
Author: hselasky
Date: Wed Jul 16 06:23:54 2014
New Revision: 268739
URL: http://svnweb.freebsd.org/changeset/base/268739
Log:
MFC r268583:
Turn off blinking device leds at attach.
PR: 183735
Modified:
stable/9/sys/dev/usb/input/uhid.c
Directory Properties:
stable/9/sys/ (props changed)
stable/9/sys/dev/ (props changed)
Modified: stable/9/sys/dev/usb/input/uhid.c
==============================================================================
--- stable/9/sys/dev/usb/input/uhid.c Wed Jul 16 06:22:35 2014 (r268738)
+++ stable/9/sys/dev/usb/input/uhid.c Wed Jul 16 06:23:54 2014 (r268739)
@@ -759,9 +759,20 @@ uhid_attach(device_t dev)
sc->sc_flags |= UHID_FLAG_STATIC_DESC;
}
} else if ((uaa->info.bInterfaceClass == UICLASS_VENDOR) &&
- (uaa->info.bInterfaceSubClass == UISUBCLASS_XBOX360_CONTROLLER) &&
+ (uaa->info.bInterfaceSubClass == UISUBCLASS_XBOX360_CONTROLLER) &&
(uaa->info.bInterfaceProtocol == UIPROTO_XBOX360_GAMEPAD)) {
-
+ static const uint8_t reportbuf[3] = {1, 3, 0};
+ /*
+ * Turn off the four LEDs on the gamepad which
+ * are blinking by default:
+ */
+ error = usbd_req_set_report(uaa->device, NULL,
+ __DECONST(void *, reportbuf), sizeof(reportbuf),
+ uaa->info.bIfaceIndex, UHID_OUTPUT_REPORT, 0);
+ if (error) {
+ DPRINTF("set output report failed, error=%s (ignored)\n",
+ usbd_errstr(error));
+ }
/* the Xbox 360 gamepad has no report descriptor */
sc->sc_repdesc_size = sizeof(uhid_xb360gp_report_descr);
sc->sc_repdesc_ptr = (void *)&uhid_xb360gp_report_descr;
More information about the svn-src-stable-9
mailing list