فهرست منبع

Also need to just return false in the case that it isn't an interface control event. We shouldn't assert. This normally isn't an

error, either, so I don't want to use TU_VERIFY.
Nathan Conrad 6 سال پیش
والد
کامیت
f241ff389f
1فایلهای تغییر یافته به همراه4 افزوده شده و 0 حذف شده
  1. 4 0
      src/class/hid/hid_device.c

+ 4 - 0
src/class/hid/hid_device.c

@@ -193,6 +193,10 @@ bool hidd_open(uint8_t rhport, tusb_desc_interface_t const * desc_itf, uint16_t
 // return false to stall control endpoint (e.g unsupported request)
 bool hidd_control_request(uint8_t rhport, tusb_control_request_t const * p_request)
 {
+  if (p_request->bmRequestType_bit.recipient != TUSB_REQ_RCPT_INTERFACE)
+  {
+    return false;
+  }
   hidd_interface_t* p_hid = get_interface_by_itfnum( (uint8_t) p_request->wIndex );
   TU_ASSERT(p_hid);