summaryrefslogtreecommitdiff
path: root/firmware/usbstack/usb_hid.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/usbstack/usb_hid.c')
-rw-r--r--firmware/usbstack/usb_hid.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/firmware/usbstack/usb_hid.c b/firmware/usbstack/usb_hid.c
index 2f592fcacd..53dd767c59 100644
--- a/firmware/usbstack/usb_hid.c
+++ b/firmware/usbstack/usb_hid.c
@@ -739,10 +739,10 @@ bool usb_hid_control_request(struct usb_ctrlrequest *req, unsigned char *dest)
739 logf("hid: unsup. std. req"); 739 logf("hid: unsup. std. req");
740 break; 740 break;
741 } 741 }
742 if (dest != orig_dest && 742 if (dest != orig_dest)
743 !usb_drv_send(EP_CONTROL, orig_dest, dest - orig_dest))
744 { 743 {
745 usb_core_ack_control(req); 744 usb_drv_recv(EP_CONTROL, NULL, 0); /* ack */
745 usb_drv_send(EP_CONTROL, orig_dest, dest - orig_dest);
746 handled = true; 746 handled = true;
747 } 747 }
748 break; 748 break;
@@ -754,14 +754,14 @@ bool usb_hid_control_request(struct usb_ctrlrequest *req, unsigned char *dest)
754 { 754 {
755 case USB_HID_SET_IDLE: 755 case USB_HID_SET_IDLE:
756 logf("hid: set idle"); 756 logf("hid: set idle");
757 usb_core_ack_control(req); 757 usb_drv_send(EP_CONTROL, NULL, 0); /* ack */
758 handled = true; 758 handled = true;
759 break; 759 break;
760 case USB_HID_SET_REPORT: 760 case USB_HID_SET_REPORT:
761 logf("hid: set report"); 761 logf("hid: set report");
762 if (!usb_hid_set_report(req)) 762 if (!usb_hid_set_report(req))
763 { 763 {
764 usb_core_ack_control(req); 764 usb_drv_send(EP_CONTROL, NULL, 0); /* ack */
765 handled = true; 765 handled = true;
766 } 766 }
767 break; 767 break;