diff --git a/src/device/usbd.c b/src/device/usbd.c index 072b5e45..2946eff9 100644 --- a/src/device/usbd.c +++ b/src/device/usbd.c @@ -86,12 +86,12 @@ TU_ATTR_WEAK void tud_suspend_cb(bool remote_wakeup_en) { TU_ATTR_WEAK void tud_resume_cb(void) { } -TU_ATTR_WEAK bool tud_vendor_control_xfer_cb(uint8_t rhport, uint8_t stage, tusb_control_request_t const* request) { - (void) rhport; - (void) stage; - (void) request; - return false; -} +//TU_ATTR_WEAK bool tud_vendor_control_xfer_cb(uint8_t rhport, uint8_t stage, tusb_control_request_t const* request) { +// (void) rhport; +// (void) stage; +// (void) request; +// return false; +//} TU_ATTR_WEAK bool dcd_deinit(uint8_t rhport) { (void) rhport; @@ -715,6 +715,7 @@ static bool process_control_request(uint8_t rhport, tusb_control_request_t const // Vendor request if ( p_request->bmRequestType_bit.type == TUSB_REQ_TYPE_VENDOR ) { + TU_VERIFY(tud_vendor_control_xfer_cb); usbd_control_set_complete_callback(tud_vendor_control_xfer_cb); return tud_vendor_control_xfer_cb(rhport, CONTROL_STAGE_SETUP, p_request); } diff --git a/src/device/usbd.h b/src/device/usbd.h index 94cae04a..478b1a70 100644 --- a/src/device/usbd.h +++ b/src/device/usbd.h @@ -159,7 +159,7 @@ void tud_event_hook_cb(uint8_t rhport, uint32_t eventid, bool in_isr); void tud_sof_cb(uint32_t frame_count); // Invoked when received control request with VENDOR TYPE -bool tud_vendor_control_xfer_cb(uint8_t rhport, uint8_t stage, tusb_control_request_t const * request); +TU_ATTR_WEAK bool tud_vendor_control_xfer_cb(uint8_t rhport, uint8_t stage, tusb_control_request_t const * request); //--------------------------------------------------------------------+ // Binary Device Object Store (BOS) Descriptor Templates