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]

Reply via email to