Baardrw opened a new pull request, #21347: URL: https://github.com/apache/nuttx/pull/21347
## Summary `fdcan_receive_work()` writes `rx_pool`, `d_buf` and `d_len` without the device lock, racing with `devif_poll()`. Hold `netdev_lock()` until `d_buf` is restored. Originally found on PX4's `px4_firmware_nuttx-10.3.0+` branch, see https://github.com/PX4/NuttX/pull/436. That PR also fixed an unlocked `devif_poll()` in `fdcan_txdone_work()`; master already takes `netdev_lock()` inside `devif_poll()`, so only the RX path is needed here. ## Impact stm32h7 FDCAN SocketCAN driver only. Fixes CAN sends failing with `EAGAIN` under RX load (>20% of sends on the PX4 branch with CAN work on the HP work queue). ## Testing Only tested on PX4's `px4_firmware_nuttx-10.3.0+` branch 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- 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]
