Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/usb/serial/ucycom.c
Show First 20 Lines • Show All 49 Lines • ▼ Show 20 Lines | |||||
#include <sys/condvar.h> | #include <sys/condvar.h> | ||||
#include <sys/sysctl.h> | #include <sys/sysctl.h> | ||||
#include <sys/sx.h> | #include <sys/sx.h> | ||||
#include <sys/unistd.h> | #include <sys/unistd.h> | ||||
#include <sys/callout.h> | #include <sys/callout.h> | ||||
#include <sys/malloc.h> | #include <sys/malloc.h> | ||||
#include <sys/priv.h> | #include <sys/priv.h> | ||||
#include <dev/hid/hid.h> | |||||
#include <dev/usb/usb.h> | #include <dev/usb/usb.h> | ||||
#include <dev/usb/usbdi.h> | #include <dev/usb/usbdi.h> | ||||
#include <dev/usb/usbdi_util.h> | #include <dev/usb/usbdi_util.h> | ||||
#include <dev/usb/usbhid.h> | #include <dev/usb/usbhid.h> | ||||
#include "usbdevs.h" | #include "usbdevs.h" | ||||
#define USB_DEBUG_VAR usb_debug | #define USB_DEBUG_VAR usb_debug | ||||
#include <dev/usb/usb_debug.h> | #include <dev/usb/usb_debug.h> | ||||
▲ Show 20 Lines • Show All 178 Lines • ▼ Show 20 Lines | ucycom_attach(device_t dev) | ||||
if (error) { | if (error) { | ||||
device_printf(dev, "failed to get report " | device_printf(dev, "failed to get report " | ||||
"descriptor: %s\n", | "descriptor: %s\n", | ||||
usbd_errstr(error)); | usbd_errstr(error)); | ||||
goto detach; | goto detach; | ||||
} | } | ||||
/* get report sizes */ | /* get report sizes */ | ||||
sc->sc_flen = hid_report_size(urd_ptr, urd_len, hid_feature, &sc->sc_fid); | sc->sc_flen = hid_report_size_max(urd_ptr, urd_len, hid_feature, &sc->sc_fid); | ||||
sc->sc_ilen = hid_report_size(urd_ptr, urd_len, hid_input, &sc->sc_iid); | sc->sc_ilen = hid_report_size_max(urd_ptr, urd_len, hid_input, &sc->sc_iid); | ||||
sc->sc_olen = hid_report_size(urd_ptr, urd_len, hid_output, &sc->sc_oid); | sc->sc_olen = hid_report_size_max(urd_ptr, urd_len, hid_output, &sc->sc_oid); | ||||
if ((sc->sc_ilen > UCYCOM_MAX_IOLEN) || (sc->sc_ilen < 1) || | if ((sc->sc_ilen > UCYCOM_MAX_IOLEN) || (sc->sc_ilen < 1) || | ||||
(sc->sc_olen > UCYCOM_MAX_IOLEN) || (sc->sc_olen < 2) || | (sc->sc_olen > UCYCOM_MAX_IOLEN) || (sc->sc_olen < 2) || | ||||
(sc->sc_flen > UCYCOM_MAX_IOLEN) || (sc->sc_flen < 5)) { | (sc->sc_flen > UCYCOM_MAX_IOLEN) || (sc->sc_flen < 5)) { | ||||
device_printf(dev, "invalid report size i=%d, o=%d, f=%d, max=%d\n", | device_printf(dev, "invalid report size i=%d, o=%d, f=%d, max=%d\n", | ||||
sc->sc_ilen, sc->sc_olen, sc->sc_flen, | sc->sc_ilen, sc->sc_olen, sc->sc_flen, | ||||
UCYCOM_MAX_IOLEN); | UCYCOM_MAX_IOLEN); | ||||
goto detach; | goto detach; | ||||
▲ Show 20 Lines • Show All 350 Lines • Show Last 20 Lines |