jerpelea opened a new pull request, #21226: URL: https://github.com/apache/nuttx/pull/21226
## Summary The W5500 Ethernet driver previously treated any spurious interrupt bit or transient receive glitch as fatal and permanently fenced the interface without notifying the network stack (netdev_carrier_off), rendering the device unrecoverable without a power cycle. Additionally, re-enabling interrupts while the chip was held in reset with open-drain INTn floating caused level-low interrupt storms on RP2040. This commit: - Acknowledges pending Sn_IR bits in w5500_interrupt_work(), acting only on RECV and SEND_OK while warning on unexpected bits instead of fencing. - Clears pending interrupts on unused sockets (1-7) instead of fencing. - Replaces immediate fencing in w5500_receive() with soft Socket 0 resync and a retry threshold counter (W5500_MAX_RX_ERRORS). - Reports netdev_carrier_off(&self->w_dev) if the retry threshold is exceeded and genuine hardware failure occurs. - Waits for Sn_CR commands to complete in w5500_cmd(). - Re-enables interrupts at done: only if w_bifup remains true. - Configures pull-up on the open-drain W5500 interrupt GPIO on RP2040. ## Impact RELEASE ## Testing CI -- 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]
