Skip to content

Conversation

@HiFiPhile
Copy link
Collaborator

Describe the PR
I've added if (s->ep_buf != NULL) { during the fixup but it will break receiving behavior when the host can't send ZLP. With this if added settingCFG_TUD_CDC_EP_BUFSIZE will no longer have effect on devices using HWFIFO.

Related to #2287

Signed-off-by: HiFiPhile <admin@hifiphile.com>
Copilot AI review requested due to automatic review settings December 22, 2025 20:17
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR fixes a bug where the CFG_TUD_CDC_EP_BUFSIZE configuration was not being respected for devices using hardware FIFO. The fix removes a conditional check that incorrectly prevented the endpoint buffer size limit from being applied when ep_buf is NULL (hardware FIFO mode), ensuring consistent behavior for all devices regardless of whether they use a dedicated endpoint buffer or hardware FIFO.

Key Changes

  • Removed conditional check for ep_buf != NULL that prevented ep_bufsize from limiting transfer size in hardware FIFO mode
  • Ensures CFG_TUD_CDC_EP_BUFSIZE setting is effective for all device configurations

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@github-actions
Copy link

github-actions bot commented Dec 22, 2025

Size Difference Report

Because TinyUSB code size varies by port and configuration, the metrics below represent the averaged totals across all example builds.

Note: If there is no change, only one value is shown.

Changes >1% in size

No entries.

Changes <1% in size

file .text .data .bss size % diff
tusb.c 420 ➙ 418 (-2) 361 ➙ 360 (-1) 3 421 ➙ 420 (-1) -0.2%
TOTAL 420 ➙ 418 (-2) 361 ➙ 360 (-1) 3 421 ➙ 420 (-1) -0.2%
No changes
file .text .rodata .data .bss size % diff
audio_device.c 2860 0 1250 1688 4543 +0.0%
cdc_device.c 1333 16 20 692 2024 +0.0%
cdc_host.c 6596 487 15 1539 8357 +0.0%
dcd_ch32_usbfs.c 1472 0 0 2444 3916 +0.0%
dcd_ch32_usbhs.c 1648 0 0 448 2096 +0.0%
dcd_ci_fs.c 1925 0 0 1290 3215 +0.0%
dcd_ci_hs.c 1762 0 0 1280 2530 +0.0%
dcd_da146xx.c 3067 0 0 144 3211 +0.0%
dcd_dwc2.c 4188 25 0 263 4474 +0.0%
dcd_eptri.c 2270 0 0 259 2529 +0.0%
dcd_khci.c 1953 0 0 1290 3243 +0.0%
dcd_lpc17_40.c 1470 0 0 648 1794 +0.0%
dcd_lpc_ip3511.c 1463 0 0 264 1639 +0.0%
dcd_mm32f327x_otg.c 1478 0 0 1290 2768 +0.0%
dcd_msp430x5xx.c 1796 0 0 176 1972 +0.0%
dcd_musb.c 2228 0 0 160 2388 +0.0%
dcd_nrf5x.c 2919 0 0 292 3211 +0.0%
dcd_nuc120.c 1093 0 0 78 1171 +0.0%
dcd_nuc121.c 1167 0 0 101 1268 +0.0%
dcd_nuc505.c 0 0 1529 157 1686 +0.0%
dcd_rp2040.c 736 20 580 1029 2365 +0.0%
dcd_rusb2.c 3076 0 0 156 3232 +0.0%
dcd_samd.c 1032 0 0 266 1298 +0.0%
dcd_samg.c 1319 0 0 72 1391 +0.0%
dcd_stm32_fsdev.c 2494 0 0 291 2785 +0.0%
dfu_device.c 744 28 712 184 929 +0.0%
dfu_rt_device.c 157 0 134 0 156 +0.0%
dwc2_common.c 781 29 0 0 797 +0.0%
ecm_rndis_device.c 1037 0 1 2272 3310 +0.0%
ehci.c 2761 0 0 5970 7537 +0.0%
fsdev_common.c 622 0 0 0 622 +0.0%
hcd_ch32_usbfs.c 2484 0 0 498 2982 +0.0%
hcd_ci_hs.c 190 0 0 0 190 +0.0%
hcd_dwc2.c 4880 30 0 512 5422 +0.0%
hcd_khci.c 2442 0 0 449 2891 +0.0%
hcd_musb.c 3073 0 0 157 3230 +0.0%
hcd_pio_usb.c 262 0 240 0 502 +0.0%
hcd_rp2040.c 936 73 420 512 1941 +0.0%
hcd_rusb2.c 2965 0 0 246 3211 +0.0%
hcd_samd.c 2220 0 0 324 2544 +0.0%
hcd_stm32_fsdev.c 3258 0 1 420 3679 +0.0%
hid_device.c 1120 44 997 115 1235 +0.0%
hid_host.c 1206 0 0 1250 2456 +0.0%
hub.c 1235 8 8 29 1268 +0.0%
midi_device.c 1130 0 991 615 1743 +0.0%
midi_host.c 1353 7 7 3740 5097 +0.0%
msc_device.c 2506 108 2274 538 3044 +0.0%
msc_host.c 1589 0 0 394 1984 +0.0%
mtp_device.c 1622 22 1385 578 2208 +0.0%
ncm_device.c 1517 28 1408 5824 7354 +0.0%
ohci.c 1942 0 0 2414 4356 +0.0%
rp2040_usb.c 124 70 574 4 772 +0.0%
rusb2_common.c 0 0 16 0 16 +0.0%
tusb_fifo.c 890 0 525 0 884 +0.0%
typec_stm32.c 820 8 2 12 842 +0.0%
usbc.c 408 2 16 166 592 +0.0%
usbd.c 3155 57 86 276 3492 +0.0%
usbd_control.c 524 0 474 78 601 +0.0%
usbh.c 4367 60 60 954 5405 +0.0%
usbtmc_device.c 2178 24 70 294 2504 +0.0%
vendor_device.c 636 0 538 476 1111 +0.0%
video_device.c 4402 6 1851 471 4865 +0.0%
TOTAL 112881 1152 16184 46089 160878 +0.0%

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants