diff options
author | root <root@ka-ata-killa.ourano.james.local> | 2021-03-10 10:17:23 +0000 |
---|---|---|
committer | root <root@ka-ata-killa.ourano.james.local> | 2021-03-10 10:17:23 +0000 |
commit | 9da4b55529e3c9cb34be47ee23391c1dfd4dec5a (patch) | |
tree | 4e36c7ec587c12d79ceffcd769f1993e35f9c383 /app/cdcacm.c | |
parent | 49148e76706e5e24c2ba7f6ccc1d7ec4736ab2f3 (diff) | |
download | serial_over_dp-9da4b55529e3c9cb34be47ee23391c1dfd4dec5a.tar.gz serial_over_dp-9da4b55529e3c9cb34be47ee23391c1dfd4dec5a.tar.bz2 serial_over_dp-9da4b55529e3c9cb34be47ee23391c1dfd4dec5a.zip |
update libopencm3 to fix bugs in usb implementation
Diffstat (limited to 'app/cdcacm.c')
-rw-r--r-- | app/cdcacm.c | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/app/cdcacm.c b/app/cdcacm.c index f6a1b0f..0b4a4e3 100644 --- a/app/cdcacm.c +++ b/app/cdcacm.c @@ -122,35 +122,36 @@ const struct usb_iface_assoc_descriptor cdc_iface_assoc = { -int cdcacm_control_request (usbd_device *usbd_dev, - struct usb_setup_data *req, - uint8_t **buf, - uint16_t *len, - usbd_control_complete_callback *complete) -{ +enum usbd_request_return_codes +cdcacm_control_request (usbd_device *usbd_dev, + struct usb_setup_data *req, + uint8_t **buf, + uint16_t *len, + usbd_control_complete_callback *complete) { (void) complete; (void) buf; (void) usbd_dev; - switch (req->bRequest) { + switch (req->bRequest) + { case USB_CDC_REQ_SET_CONTROL_LINE_STATE: { /* * This Linux cdc_acm driver requires this to be implemented * even though it's optional in the CDC spec, and we don't * advertise it in the ACM functional descriptor. */ - return 1; + return USBD_REQ_HANDLED; } case USB_CDC_REQ_SET_LINE_CODING: if (*len < sizeof (struct usb_cdc_line_coding)) - return 0; + return USBD_REQ_NOTSUPP; - return 1; + return USBD_REQ_HANDLED; } - return 0; + return USBD_REQ_NEXT_CALLBACK; } |