From 3d96f64f940ed6123a73433e7ce333de0f10d5bb Mon Sep 17 00:00:00 2001 From: Chen Leeren <1570139720@qq.com> Date: Sat, 7 Oct 2023 17:36:28 +0800 Subject: [PATCH] Fix possible errors in endpoint 0 datapid --- port/ch32/usb_dc_usbfs.c | 2 +- port/ch32/usb_dc_usbhs.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/port/ch32/usb_dc_usbfs.c b/port/ch32/usb_dc_usbfs.c index b2241b02..69492b33 100644 --- a/port/ch32/usb_dc_usbfs.c +++ b/port/ch32/usb_dc_usbfs.c @@ -270,7 +270,7 @@ void USBD_IRQHandler(void) case USBFS_UIS_TOKEN_IN: if (ep_idx == 0x00) { - if (g_ch32_usbfs_udc.in_ep[ep_idx].xfer_len > g_ch32_usbfs_udc.in_ep[ep_idx].ep_mps) { + if (g_ch32_usbfs_udc.in_ep[ep_idx].xfer_len >= g_ch32_usbfs_udc.in_ep[ep_idx].ep_mps) { g_ch32_usbfs_udc.in_ep[ep_idx].xfer_len -= g_ch32_usbfs_udc.in_ep[ep_idx].ep_mps; g_ch32_usbfs_udc.in_ep[ep_idx].actual_xfer_len += g_ch32_usbfs_udc.in_ep[ep_idx].ep_mps; ep0_tx_data_toggle ^= 1; diff --git a/port/ch32/usb_dc_usbhs.c b/port/ch32/usb_dc_usbhs.c index 359e00e6..8cc9e0a6 100644 --- a/port/ch32/usb_dc_usbhs.c +++ b/port/ch32/usb_dc_usbhs.c @@ -258,7 +258,7 @@ void USBD_IRQHandler(void) if (token == PID_IN) { if (ep_idx == 0x00) { - if (g_ch32_usbhs_udc.in_ep[ep_idx].xfer_len > g_ch32_usbhs_udc.in_ep[ep_idx].ep_mps) { + if (g_ch32_usbhs_udc.in_ep[ep_idx].xfer_len >= g_ch32_usbhs_udc.in_ep[ep_idx].ep_mps) { g_ch32_usbhs_udc.in_ep[ep_idx].xfer_len -= g_ch32_usbhs_udc.in_ep[ep_idx].ep_mps; g_ch32_usbhs_udc.in_ep[ep_idx].actual_xfer_len += g_ch32_usbhs_udc.in_ep[ep_idx].ep_mps; ep0_tx_data_toggle ^= 1;