orinoco + ARM update (reset failed)

Ben Greear greearb at candelatech.com
Tue Feb 26 14:14:44 EST 2002


I fixed the stupid sprintf bug in my reset code, and started
the ping -f last night.  It ran for almost exactly 20 hours before
it got into an endless reset loop.  My reset attempt did not seem
to do the trick.  Here is the code I added (to the orinoco_xmit
method):

                  if (err == -ETIMEDOUT) {
                    if (++priv->timed_out_errors > MAX_ORINOCO_TIMEOUTS) {
                       	printk("%s: Forcing reset due to %d timeouts!\n",
                                dev->name, priv->timed_out_errors);
                         printk("%s: tx_errors: %d  tx_bytes: %d  tx_pkts: %d rx_pkts: %d rx_bytes: %d\n",
                                dev->name, stats->tx_errors, stats->tx_bytes, stats->tx_packets,
                                stats->rx_packets, stats->rx_bytes);

                         /* We need the xmit lock because it protects the
                            multicast list which orinoco_reset() reads */
                         /* Assuming we already have the lock since this is in
                            the transmit method itself... --Ben */
                         /* spin_lock_bh(&dev->xmit_lock); */
                         orinoco_tx_timeout(dev);
                         printk("Done with reset...\n");
                         /* spin_unlock_bh(&dev->xmit_lock); */
                         priv->timed_out_errors = 0;
                    }
                 }

Is there a more powerful reset that I could do to this
thing?

Here is what the logs look like at the point it blew up:

Feb 26 02:48:51 CerfLinux kern.info eth1: Tx error, status 1, retry_count: 0 tx_rate: 0 tx_control: 6 (FID=01A1)
Feb 26 02:49:13 CerfLinux kern.info eth1: Tx error, status 1, retry_count: 0 tx_rate: 0 tx_control: 6 (FID=03DD)
Feb 26 02:50:03 CerfLinux kern.info eth1: Tx error, status 1, retry_count: 0 tx_rate: 0 tx_control: 6 (FID=02C9)
Feb 26 02:50:42 CerfLinux kern.info eth1: Tx error, status 1, retry_count: 0 tx_rate: 0 tx_control: 6 (FID=036F)
Feb 26 02:50:54 CerfLinux kern.info eth1: Tx error, status 1, retry_count: 0 tx_rate: 0 tx_control: 6 (FID=01DC)
Feb 26 02:57:24 CerfLinux kern.info eth1: Tx error, status 4, retry_count: 0 tx_rate: 0 tx_control: 6 (FID=0196)
Feb 26 02:57:24 CerfLinux kern.info eth1: Tx error, status 4, retry_count: 0 tx_rate: 0 tx_control: 6 (FID=03E3)
Feb 26 02:57:24 CerfLinux kern.err eth1: error -110 reading Rx descriptor. Frame dropped.
Feb 26 02:57:24 CerfLinux kern.info eth1: Tx error, status 4, retry_count: 0 tx_rate: 0 tx_control: 6 (FID=03AE)
Feb 26 02:57:24 CerfLinux kern.info eth1: Tx error, status 4, retry_count: 0 tx_rate: 0 tx_control: 6 (FID=018A)
Feb 26 02:57:24 CerfLinux kern.info eth1: Tx error, status 4, retry_count: 0 tx_rate: 0 tx_control: 6 (FID=0214)
Feb 26 02:57:24 CerfLinux kern.err eth1: Error -110 writing Tx descriptor to BAP
Feb 26 02:57:24 CerfLinux kern.info eth1: Tx error, status 4, retry_count: 0 tx_rate: 0 tx_control: 6 (FID=0276)
Feb 26 02:57:24 CerfLinux kern.err eth1: error -110 reading Rx descriptor. Frame dropped.
Feb 26 02:57:24 CerfLinux kern.err eth1: Error -110 writing Tx descriptor to BAP
Feb 26 02:57:24 CerfLinux kern.err eth1: Error -110 writing Tx descriptor to BAP
Feb 26 02:57:24 CerfLinux kern.err eth1: Error -110 writing Tx descriptor to BAP
Feb 26 02:57:25 CerfLinux kern.err eth1: Error -110 writing Tx descriptor to BAP
Feb 26 02:57:25 CerfLinux kern.warn eth1: Forcing reset due to 4 timeouts!
Feb 26 02:57:25 CerfLinux kern.warn eth1: tx_errors: 1483  tx_bytes: 1058703704  tx_pkts: 6963949 rx_pkts: 6965408 rx_bytes: 640780192
Feb 26 02:57:25 CerfLinux kern.warn eth1: Tx timeout! Resetting card.
Feb 26 02:57:25 CerfLinux kern.err hermes @ 0xf7000000: Timeout waiting for card to reset (reg=0x0000)!
Feb 26 02:57:25 CerfLinux kern.err eth1: Error -110 resetting card on Tx timeout!
Feb 26 02:57:25 CerfLinux kern.warn Done with reset...
Feb 26 02:57:25 CerfLinux kern.err eth1: Error -110 writing Tx descriptor to BAP
Feb 26 02:57:25 CerfLinux kern.err eth1: Error -110 writing Tx descriptor to BAP
Feb 26 02:57:25 CerfLinux kern.err eth1: Error -110 writing Tx descriptor to BAP
Feb 26 02:57:25 CerfLinux kern.err eth1: Error -110 writing Tx descriptor to BAP
Feb 26 02:57:25 CerfLinux kern.warn eth1: Forcing reset due to 4 timeouts!
Feb 26 02:57:25 CerfLinux kern.warn eth1: tx_errors: 1488  tx_bytes: 1058703704  tx_pkts: 6963949 rx_pkts: 6965408 rx_bytes: 640780192
Feb 26 02:57:25 CerfLinux kern.warn eth1: Tx timeout! Resetting card.
Feb 26 02:57:25 CerfLinux kern.err eth1: Error -16 resetting card on Tx timeout!
Feb 26 02:57:25 CerfLinux kern.warn Done with reset...
Feb 26 02:57:25 CerfLinux kern.err eth1: Error -110 writing Tx descriptor to BAP
Feb 26 02:57:25 CerfLinux kern.err eth1: Error -110 writing Tx descriptor to BAP
Feb 26 02:57:25 CerfLinux kern.err eth1: Error -110 writing Tx descriptor to BAP
Feb 26 02:57:25 CerfLinux kern.err eth1: Error -110 writing Tx descriptor to BAP
Feb 26 02:57:25 CerfLinux kern.warn eth1: Forcing reset due to 4 timeouts!
Feb 26 02:57:25 CerfLinux kern.warn eth1: tx_errors: 1493  tx_bytes: 1058703704  tx_pkts: 6963949 rx_pkts: 6965408 rx_bytes: 640780192

Thanks,
Ben

-- 
Ben Greear <greearb at candelatech.com>       <Ben_Greear AT excite.com>
President of Candela Technologies Inc      http://www.candelatech.com
ScryMUD:  http://scry.wanfear.com     http://scry.wanfear.com/~greear






More information about the wireless mailing list