*** ums.c.1.80 2006-03-06 09:41:19.000000000 +0100 --- ums.c.1.81 2006-03-06 09:47:27.000000000 +0100 *************** *** 313,318 **** --- 313,325 ---- hid_input, &sc->sc_loc_btn[i-1], 0); sc->sc_isize = hid_report_size(desc, size, hid_input, &sc->sc_iid); + #define LOGITECH_STRING "Logitech USB Receiver" + #define LOGITECH_STRLEN 21 + #define LOGITECH_SC_ISIZE 8 + if(!strncmp(devinfo,LOGITECH_STRING, LOGITECH_STRLEN)){ + printf("%s: Logitech USB Receiver workaround\n", USBDEVNAME(sc->sc_dev)); + sc->sc_isize=LOGITECH_SC_ISIZE; /* Logitech Wireless USB Receiver reports 14, it should be 8! */ + } sc->sc_ibuf = malloc(sc->sc_isize, M_USB, M_NOWAIT); if (!sc->sc_ibuf) { printf("%s: no memory\n", USBDEVNAME(sc->sc_dev));