From: "Martin Eriksson" <nitrax@giron.wox.org>
To: "Justin A" <justin@bouncybouncy.net>, "Andrew Morton" <akpm@zip.com.au>
Cc: "Urban Widmark" <urban@teststation.com>,
"Andy Carlson" <naclos@swbell.net>,
<linux-kernel@vger.kernel.org>,
"Stephan von Krawczynski" <skraw@ithnet.com>
Subject: Re: via-rhine timeouts
Date: Thu, 24 Jan 2002 09:38:40 +0100 [thread overview]
Message-ID: <005201c1a4b2$8667fb60$0201a8c0@HOMER> (raw)
In-Reply-To: <004101c1a3f9$dea1bb90$0201a8c0@HOMER> <Pine.LNX.4.33.0201231255180.6354-100000@cola.teststation.com> <3C4F20A5.F88EA471@zip.com.au> <20020123234138.GA12264@bouncybouncy.net>
[-- Attachment #1: Type: text/plain, Size: 3247 bytes --]
----- Original Message -----
From: "Justin A" <justin@bouncybouncy.net>
To: "Andrew Morton" <akpm@zip.com.au>
Cc: "Urban Widmark" <urban@teststation.com>; "Martin Eriksson"
<nitrax@giron.wox.org>; "Andy Carlson" <naclos@swbell.net>;
<linux-kernel@vger.kernel.org>; "Stephan von Krawczynski" <skraw@ithnet.com>
Sent: Thursday, January 24, 2002 12:41 AM
Subject: Re: via-rhine timeouts
> I don't think thats the full problem, I just noticed I had been getting
> errors too with the via driver, but it's been working fine otherwise:
>
> (heres all of them, don't know what was going on at all the times, but I
> was browsing the web for a bit at 9:50)
>
> Jan 23 00:56:56 bouncybouncy kernel: eth0: Transmit error, Tx status 8100.
<snip>
>
> the status makes sense from what I can tell, I could never figure out
> what 782d was.
> ifconfig reports:
> TX packets:657170 errors:52 dropped:0 overruns:0 carrier:52
>
> Is it possible that the problem is with the hub and via-rhine resetting
> the card repetedly just makes it worse?
Hmm, if I'm not wrong, it seems that the linuxfet driver is doing some
strange hack on txstatus 0x0800 and 0x0100. Instead of waiting for
netdev_error to handle things it does its own stuff:
np->tx_ring[entry].tx_status = cpu_to_le32(DescOwn);
writel(virt_to_bus(&np->tx_ring[entry]), ioaddr + TxRingPtr);
/* Turn on Tx On*/
writew(CmdTxOn | np->chip_cmd, dev->base_addr + ChipCmd);
/* Stats counted in Tx-done handler, just restart Tx. */
writew(CmdTxDemand | np->chip_cmd, dev->base_addr + ChipCmd);
What differs from the normal error handler is the "CmdTxOn" command I guess.
But I am also seeing that they have removed any entry from "if (intr_status
& IntrTxAbort) {" in "netdev_error". Might 0x0100 be the new secret abort
code?
What if you tried (or at least reviewed) this patch: (also attached, as OE
foggs opp whitespace)
--- via-rhine.c.orig Fri Dec 21 18:41:54 2001
+++ via-rhine.c Thu Jan 24 09:30:42 2002
@@ -1264,7 +1264,7 @@
/* Abnormal error summary/uncommon events handlers. */
if (intr_status & (IntrPCIErr | IntrLinkChange | IntrMIIChange |
- IntrStatsMax | IntrTxAbort | IntrTxUnderrun))
+ IntrStatsMax | IntrTxAbort | IntrTxUnderrun | 0x0100))
via_rhine_error(dev, intr_status);
if (--boguscnt < 0) {
@@ -1481,8 +1481,14 @@
printk(KERN_INFO "%s: Transmitter underrun, increasing Tx "
"threshold setting to %2.2x.\n", dev->name, np->tx_thresh);
}
+ if (intr_status & 0x0100) {
+ /* VIA hack */
+ writew(CmdTxOn | np->chip_cmd, dev->base_addr + ChipCmd);
+ /* Restart Tx */
+ writew(CmdTxDemand | np->chip_cmd, dev->base_addr + ChipCmd);
+ }
if ((intr_status & ~( IntrLinkChange | IntrStatsMax |
- IntrTxAbort | IntrTxAborted))) {
+ IntrTxAbort | IntrTxAborted | 0x0100))) {
if (debug > 1)
printk(KERN_ERR "%s: Something Wicked happened! %4.4x.\n",
dev->name, intr_status);
_____________________________________________________
| Martin Eriksson <nitrax@giron.wox.org>
| MSc CSE student, department of Computing Science
| Umeå University, Sweden
- ABIT BP6(RU) - 2xCeleron 400 - 128MB/PC100/C2 Acer
- Maxtor 10/5400/U33 HPT P/M - Seagate 6/5400/DMA2 HPT S/M
- 2xDE-530TX - 1xTulip - Linux 2.4.17+ide+preempt
[-- Attachment #2: via-rhine.patch --]
[-- Type: application/octet-stream, Size: 1070 bytes --]
--- via-rhine.c.orig Fri Dec 21 18:41:54 2001
+++ via-rhine.c Thu Jan 24 09:30:42 2002
@@ -1264,7 +1264,7 @@
/* Abnormal error summary/uncommon events handlers. */
if (intr_status & (IntrPCIErr | IntrLinkChange | IntrMIIChange |
- IntrStatsMax | IntrTxAbort | IntrTxUnderrun))
+ IntrStatsMax | IntrTxAbort | IntrTxUnderrun | 0x0100))
via_rhine_error(dev, intr_status);
if (--boguscnt < 0) {
@@ -1481,8 +1481,14 @@
printk(KERN_INFO "%s: Transmitter underrun, increasing Tx "
"threshold setting to %2.2x.\n", dev->name, np->tx_thresh);
}
+ if (intr_status & 0x0100) {
+ /* VIA hack */
+ writew(CmdTxOn | np->chip_cmd, dev->base_addr + ChipCmd);
+ /* Restart Tx */
+ writew(CmdTxDemand | np->chip_cmd, dev->base_addr + ChipCmd);
+ }
if ((intr_status & ~( IntrLinkChange | IntrStatsMax |
- IntrTxAbort | IntrTxAborted))) {
+ IntrTxAbort | IntrTxAborted | 0x0100))) {
if (debug > 1)
printk(KERN_ERR "%s: Something Wicked happened! %4.4x.\n",
dev->name, intr_status);
next prev parent reply other threads:[~2002-01-24 8:38 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-01-22 23:42 via-rhine timeouts Justin A
2002-01-23 0:37 ` Urban Widmark
2002-01-23 1:02 ` Justin A
2002-01-23 9:44 ` Urban Widmark
2002-01-23 10:16 ` Stephan von Krawczynski
2002-01-23 1:07 ` Andy Carlson
2002-01-23 1:58 ` Justin A
2002-01-23 10:36 ` Martin Eriksson
2002-01-23 12:04 ` Urban Widmark
2002-01-23 20:44 ` Andrew Morton
2002-01-23 23:25 ` Stephan von Krawczynski
2002-01-23 23:53 ` Urban Widmark
2002-01-23 23:41 ` Justin A
2002-01-23 23:49 ` Urban Widmark
2002-01-24 8:38 ` Martin Eriksson [this message]
2002-01-24 13:01 ` Andy Carlson
2002-01-24 14:42 ` Martin Eriksson
2002-01-24 1:25 ` Andy Carlson
2002-01-23 10:12 ` AW: " Roland Schwarz
[not found] <Pine.LNX.4.33.0201261559580.4687-200000@cola.teststation.com>
2002-01-29 2:13 ` Justin A
2002-01-29 21:06 ` Urban Widmark
2002-01-30 0:15 ` Justin A
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='005201c1a4b2$8667fb60$0201a8c0@HOMER' \
--to=nitrax@giron.wox.org \
--cc=akpm@zip.com.au \
--cc=justin@bouncybouncy.net \
--cc=linux-kernel@vger.kernel.org \
--cc=naclos@swbell.net \
--cc=skraw@ithnet.com \
--cc=urban@teststation.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox