Sorry, forgot to attach the patch. Here you go. -----Original Message----- From: Ravinandan Arakali [mailto:ravinandan.arakali@s2io.com] Sent: Wednesday, October 06, 2004 6:23 PM To: 'Jeff Garzik'; 'Francois Romieu' Cc: 'netdev@oss.sgi.com'; 'leonid.grossman@s2io.com'; 'raghavendra.koushik@s2io.com'; 'rapuru.sriram@s2io.com' Subject: [PATCH 2.6.9-rc2 2/8] S2io: sw bug fixes Hi, Attached is the second patch in this submission. It contains the following software bug fixes. 1. In free_rx_buffers clearing out RxDs not owned by Xena. 2. In alarm_intr_handler, when a serr error occurs, schedule a task to reset the card rather than stopping Tx queue. 3. In s2io_close freeing IRQ before calling s2io_reset also added a new call to flush queued tasks. This is not done if the s2io_close itself is called from a queued task like s2io_restart_nic. 4. read_eeprom function has been changed such that data to be returned is sent as an input argument and the return value represents a pass/fail. The previous implementation as Randy had pointed out was error prone as on failure it returned -1 which can be interpreted as all ff's, so any data area which contained ff's in the eeprom was likely to be treated as an error. 5. Added a flag "task_flag" to track if the call to s2io_close is coming from the s2io_restart_nic function or from the ifconfig down called by user. 6. Moved register_netdev call from just after setting entry points to the end of the s2io_init_nic function. 7. In s2io.h field added a new member into the s2io_nic structure called "task_flag". Thanks, Ravi