Zepp-Hanzj opened a new pull request, #19397: URL: https://github.com/apache/nuttx/pull/19397
## Summary Fix two latent defects in the W5500 Ethernet driver: 1. **`NETDEV_RXERRORS()` references non-existent variables** (line 1351): In `w5500_receive()`, the error path uses `&priv->dev` but the function parameter is named `self` and the device field is `w_dev`. This compiles only because `NETDEV_RXERRORS()` expands to nothing without `CONFIG_NETDEV_STATISTICS`; enabling statistics breaks the build. 2. **`d_private` set to the device array instead of the instance** (line 2069): In `w5500_initialize()`, `d_private` was set to `g_w5500` (the global array) instead of `self` (the current instance). This is harmless for device 0 (`g_w5500 == &g_w5500[0]`) but wrong for any `devno > 0` — every callback that recovers the driver state via `dev->d_private` would operate on device 0's state. Fixes #19306 ## Impact - Bug fix only, no functional changes for single-device configurations - Fixes multi-device W5500 configurations where `devno > 0` - Fixes build with `CONFIG_NETDEV_STATISTICS` enabled ## Testing - Verified by code inspection against master - Confirmed variable names match function signature and struct fields Signed-off-by: hanzhijian <[email protected]> -- 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]
