rikaken2004 opened a new pull request, #20401: URL: https://github.com/apache/nuttx/pull/20401
## Summary Check the return value of `SDIO_RECVSETUP`/`SDIO_SENDSETUP` on the non-DMA data paths of `drivers/mmcsd/mmcsd_sdio.c`, mirroring the existing DMA-path handling (`SDIO_CANCEL` + propagate the error): `mmcsd_readsingle()`, `mmcsd_readmultiple()`, `mmcsd_writesingle()`, `mmcsd_writemultiple()`, and the CMD56 read/write helpers. Today a lower-half setup failure on these paths is silently dropped and the driver still issues CMD17/18/24/25/56, so the real error only surfaces later as an unrelated-looking transfer timeout. The DMA twins in the same functions already check their setup calls, so this looks like an oversight. Reported as #20399. Two call sites without a checked DMA twin are left alone deliberately: the SCR read fallback and the switch-status read. Happy to cover them too if reviewers prefer. ## Impact All SDIO/MMC hosts using the non-DMA paths: setup failures (e.g. a lower half rejecting an unaligned buffer) now fail fast with the real error code instead of a confusing transfer timeout. No behaviour change when the lower half never fails, which is the case for most in-tree drivers. ## Testing Not runtime-tested on hardware; each hunk is byte-for-byte the error handling of the DMA twin in the same function (same log level, `SDIO_CANCEL`, propagate `ret`). Compile-verified only. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
