-
Notifications
You must be signed in to change notification settings - Fork 1.4k
device/msc: skip command stage if EP out is stalled #3471
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Signed-off-by: Zixun LI <[email protected]>
There was a problem hiding this 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 an assertion failure in the USB MSC (Mass Storage Class) device driver that occurs when the application callback tud_msc_write10_cb returns TUD_MSC_RET_ERROR.
Changes:
- Add endpoint stall check before attempting to transfer on ep_out in
prepare_cbwfunction - Skip queuing a new command transfer if the OUT endpoint is stalled, deferring it until the Clear Stall request is received
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
TinyUSB Average Code Size Metrics
Input files
|
MemBrowse Memory Reportat32f402_405-at_start_f402-cdc_msc
at32f403a_407-at32f403a_weact_blackpill-cdc_msc
at32f413-at_start_f413-cdc_msc
at32f415-at_start_f415-cdc_msc
at32f423-at_start_f423-cdc_msc
at32f425-at_start_f425-cdc_msc
at32f435_437-at_start_f435-cdc_msc
broadcom_64bit-raspberrypi_cm4-cdc_msc
ch32v10x-ch32v103r_r1_1v0-cdc_msc
ch32v20x-ch32v203c_r0_1v0-cdc_msc
ch32v30x-ch32v307v_r1_1v0-cdc_msc
da1469x-da14695_dk_usb-cdc_msc
fomu-fomu-cdc_msc
gd32vf103-sipeed_longan_nano-cdc_msc
hpmicro-hpm6750evk2-cdc_msc
imxrt-metro_m7_1011-cdc_msc
kinetis_k-frdm_k64f-cdc_msc
kinetis_k32l2-frdm_k32l2a4s-cdc_msc
kinetis_kl-frdm_kl25z-cdc_msc
lpc11-lpcxpresso11u37-cdc_msc
lpc13-lpcxpresso1347-cdc_msc
lpc15-lpcxpresso1549-cdc_msc
lpc17-lpcxpresso1769-cdc_msc
lpc18-lpcxpresso18s37-cdc_msc
lpc43-ea4357-cdc_msc
lpc51-lpcxpresso51u68-cdc_msc
lpc54-lpcxpresso54114-cdc_msc
lpc55-double_m33_express-cdc_msc
maxim-apard32690-cdc_msc
mcx-frdm_mcxa153-cdc_msc
mm32-mm32f327x_mb39-cdc_msc
msp430-msp_exp430f5529lp-cdc_msc
msp432e4-msp_exp432e401y-cdc_msc
nrf-adafruit_clue-cdc_msc
nuc100_120-nutiny_sdk_nuc120-cdc_msc
nuc121_125-nutiny_sdk_nuc121-cdc_msc
nuc126-nutiny_nuc126v-cdc_msc
nuc505-nutiny_sdk_nuc505-cdc_msc
ra-portenta_c33-cdc_msc
rw61x-frdm_rw612-cdc_msc
samg-samg55_xplained-cdc_msc
stm32c0-stm32c071nucleo-cdc_msc
stm32f0-stm32f070rbnucleo-cdc_msc
stm32f1-stm32f103_bluepill-cdc_msc
stm32f2-stm32f207nucleo-cdc_msc
stm32f3-stm32f303disco-cdc_msc
stm32f4-feather_stm32f405-cdc_msc
stm32f7-stlinkv3mini-cdc_msc
stm32g0-stm32g0b1nucleo-cdc_msc
stm32g4-b_g474e_dpow1-cdc_msc
stm32h5-stm32h503nucleo-cdc_msc
stm32h7rs-stm32h7s3nucleo-cdc_msc
stm32l0-stm32l052dap52-cdc_msc
stm32l4-stm32l412nucleo-cdc_msc
stm32n6-stm32n6570dk-cdc_msc
stm32u0-stm32u083cdk-cdc_msc
stm32u5-b_u585i_iot2a-cdc_msc
stm32wb-stm32wb55nucleo-cdc_msc
stm32wba-stm32wba_nucleo-cdc_msc
tm4c-ek_tm4c123gxl-cdc_msc
xmc4000-xmc4500_relax-cdc_msc
No memory changes detected for: |
Describe the PR
Fix
usbd_edpt_xferassert whentud_msc_write10_cbreturnedTUD_MSC_RET_ERROR.