don't check local endpoint stalled status, just carry the request for host.
This commit is contained in:
		| @@ -1306,12 +1306,10 @@ void usbd_edpt_stall(uint8_t rhport, uint8_t ep_addr) { | ||||
|   uint8_t const dir = tu_edpt_dir(ep_addr); | ||||
|  | ||||
|   // only stalled if currently cleared | ||||
|   if (!_usbd_dev.ep_status[epnum][dir].stalled) { | ||||
|     TU_LOG_USBD("    Stall EP %02X\r\n", ep_addr); | ||||
|     dcd_edpt_stall(rhport, ep_addr); | ||||
|     _usbd_dev.ep_status[epnum][dir].stalled = 1; | ||||
|     _usbd_dev.ep_status[epnum][dir].busy = 1; | ||||
|   } | ||||
|   TU_LOG_USBD("    Stall EP %02X\r\n", ep_addr); | ||||
|   dcd_edpt_stall(rhport, ep_addr); | ||||
|   _usbd_dev.ep_status[epnum][dir].stalled = 1; | ||||
|   _usbd_dev.ep_status[epnum][dir].busy = 1; | ||||
| } | ||||
|  | ||||
| void usbd_edpt_clear_stall(uint8_t rhport, uint8_t ep_addr) { | ||||
| @@ -1321,12 +1319,10 @@ void usbd_edpt_clear_stall(uint8_t rhport, uint8_t ep_addr) { | ||||
|   uint8_t const dir = tu_edpt_dir(ep_addr); | ||||
|  | ||||
|   // only clear if currently stalled | ||||
|   if (_usbd_dev.ep_status[epnum][dir].stalled) { | ||||
|     TU_LOG_USBD("    Clear Stall EP %02X\r\n", ep_addr); | ||||
|     dcd_edpt_clear_stall(rhport, ep_addr); | ||||
|     _usbd_dev.ep_status[epnum][dir].stalled = 0; | ||||
|     _usbd_dev.ep_status[epnum][dir].busy = 0; | ||||
|   } | ||||
|   TU_LOG_USBD("    Clear Stall EP %02X\r\n", ep_addr); | ||||
|   dcd_edpt_clear_stall(rhport, ep_addr); | ||||
|   _usbd_dev.ep_status[epnum][dir].stalled = 0; | ||||
|   _usbd_dev.ep_status[epnum][dir].busy = 0; | ||||
| } | ||||
|  | ||||
| bool usbd_edpt_stalled(uint8_t rhport, uint8_t ep_addr) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 hathach
					hathach