daniel-p-carvalho opened a new pull request, #20575: URL: https://github.com/apache/nuttx/pull/20575
## Summary `wlan_transmit()` copied the packet to a library buffer and released the network packet at once, so the TX quota of the network device never limited anything. When the application sent faster than the radio, the library queue grew until the packet pool and then the whole heap were exhausted (106 KB of 108 KB in use with UDP from the board to a station). Keep the network packet until the library frees the buffer (`DRV_PIC32MZW_MemFree`) and signal the TX done event from there. The TX quota now bounds the frames in flight; it is raised from 4 to 16 to keep the radio fed. ## Impact PIC32MZ-W1 Wi-Fi driver only (`arch/mips/src/pic32mz/pic32mz_w1_wlan.c`). No API, Kconfig or documentation change. Throughput is unchanged; heap use under load drops. ## Testing EV49N51A (PIC32MZ-W1), `ev49n51a:wlan` built with XC32 v6.00, Soft-AP, UDP from the board to a station (`iperf -c <station> -u`): - heap peak 106 KB -> 46-51 KB - throughput unchanged (22.6 Mbit/s) - 3 station reassociations under load: no leak, IOB 48/48, queued == sent, 0 TX errors `tools/checkpatch.sh -g upstream/master..HEAD` passes. -- 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]
