Răsfoiți Sursa

Fix statte check on DATA stage

Jeremiah McCarthy 4 ani în urmă
părinte
comite
8c80ddeb54
1 a modificat fișierele cu 5 adăugiri și 5 ștergeri
  1. 5 5
      src/class/dfu/dfu_device.c

+ 5 - 5
src/class/dfu/dfu_device.c

@@ -58,7 +58,7 @@ CFG_TUSB_MEM_SECTION static dfu_state_ctx_t _dfu_state_ctx;
 static void dfu_req_dnload_setup(uint8_t rhport, tusb_control_request_t const * request);
 static void dfu_req_dnload_setup(uint8_t rhport, tusb_control_request_t const * request);
 static void dfu_req_getstatus_reply(uint8_t rhport, tusb_control_request_t const * request);
 static void dfu_req_getstatus_reply(uint8_t rhport, tusb_control_request_t const * request);
 static uint16_t dfu_req_upload(uint8_t rhport, tusb_control_request_t const * request, uint16_t block_num, uint16_t wLength);
 static uint16_t dfu_req_upload(uint8_t rhport, tusb_control_request_t const * request, uint16_t block_num, uint16_t wLength);
-static void dfu_req_dnload_reply(uint8_t rhport, tusb_control_request_t const * request);
+static void dfu_req_dnload_reply(void);
 static bool dfu_state_machine(uint8_t rhport, tusb_control_request_t const * request);
 static bool dfu_state_machine(uint8_t rhport, tusb_control_request_t const * request);
 
 
 //--------------------------------------------------------------------+
 //--------------------------------------------------------------------+
@@ -225,9 +225,9 @@ uint16_t dfu_moded_open(uint8_t rhport, tusb_desc_interface_t const * itf_desc,
 // return false to stall control endpoint (e.g unsupported request)
 // return false to stall control endpoint (e.g unsupported request)
 bool dfu_moded_control_xfer_cb(uint8_t rhport, uint8_t stage, tusb_control_request_t const * request)
 bool dfu_moded_control_xfer_cb(uint8_t rhport, uint8_t stage, tusb_control_request_t const * request)
 {
 {
-  if ( (stage == CONTROL_STAGE_DATA) && (request->bRequest == DFU_DNLOAD_SYNC) )
+  if ( (stage == CONTROL_STAGE_DATA) && (_dfu_state_ctx.state == DFU_DNLOAD_SYNC) )
   {
   {
-      dfu_req_dnload_reply(rhport, request);
+      dfu_req_dnload_reply();
       return true;
       return true;
   }
   }
 
 
@@ -314,7 +314,7 @@ static void dfu_req_dnload_setup(uint8_t rhport, tusb_control_request_t const *
   tud_control_xfer(rhport, request, &_dfu_state_ctx.transfer_buf, request->wLength);
   tud_control_xfer(rhport, request, &_dfu_state_ctx.transfer_buf, request->wLength);
 }
 }
 
 
-static void dfu_req_dnload_reply(uint8_t rhport, tusb_control_request_t const * request)
+static void dfu_req_dnload_reply(void)
 {
 {
   uint8_t bwPollTimeout[3] = {0,0,0};
   uint8_t bwPollTimeout[3] = {0,0,0};
 
 
@@ -333,7 +333,7 @@ static void dfu_req_dnload_reply(uint8_t rhport, tusb_control_request_t const *
   _dfu_state_ctx.last_transfer_len = 0;
   _dfu_state_ctx.last_transfer_len = 0;
 }
 }
 
 
-void tud_dfu_poll_timeout_done()
+void tud_dfu_poll_timeout_done(void)
 {
 {
   if (_dfu_state_ctx.state == DFU_DNBUSY)
   if (_dfu_state_ctx.state == DFU_DNBUSY)
   {
   {