Turn off blinking device leds at attach.

MFC after:	3 days
PR:		183735
This commit is contained in:
Hans Petter Selasky 2014-07-13 09:34:59 +00:00
parent 948d799e27
commit 817a8cac2e
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=268583

View File

@ -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;