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