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]

Reply via email to