sky2 driver "tx timeout" with large uploads
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Linux |
Invalid
|
Medium
|
|||
linux (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
linux-source-2.6.20 (Ubuntu) |
Won't Fix
|
Undecided
|
Unassigned |
Bug Description
Binary package hint: linux-source-2.6.20
With kernel 2.6.20-15 on feisty sky2 module (version 1.13) suffers from "tx timeout" errors when doing larger upload. The problem is reliably reproducable; it usually takes several GB of upload (anywhere from 4 to 20) to trigger this. Typical upload speeds here when the error happens are in the 40-50 mbit range, which represents less than halve the available uplink capacity. I don't know if it depends on upload speed (can't really do any low speed tests). Haven't noticed any problem on downloads, regardless of size and speed.
Don't know if this bug existed prior to this kernel or driver version; in dapper and edgy I used the sk98lin driver instead which always worked fine. Since that is no longer an option in feisty (at least for the time being, see bug #114012), I have had no choice but to start using the sky2 driver and quickly ran into this problem.
When the error happens, the interface is automatically disabled and (successfully) re-enabled by the driver, but of course still killing all connections (including vpn/ppp/etc) on the interface. The following is logged to syslog:
kernel: [35559.052000] NETDEV WATCHDOG: eth1: transmit timed out
kernel: [35559.052000] sky2 eth1: tx timeout
kernel: [35559.052000] sky2 eth1: transmit ring 413 .. 390 report=413 done=413
kernel: [35559.052000] sky2 eth1: disabling interface
kernel: [35559.056000] sky2 eth1: enabling interface
kernel: [35559.056000] sky2 eth1: ram buffer 48K
kernel: [35560.740000] sky2 eth1: Link is up at 100 Mbps, full duplex, flow control rx
as well as similar ones, where only the 'transmit ring' line is different, like:
kernel: [37680.744000] sky2 eth1: transmit ring 341 .. 318 report=341 done=341
# lspci -vvnn -s 04:00.0
04:00.0 Ethernet controller [0200]: Marvell Technology Group Ltd. 88E8053 PCI-E Gigabit Ethernet Controller [11ab:4362] (rev 15)
Subsystem: Micro-Star International Co., Ltd. Marvell 88E8053 Gigabit Ethernet Controller (MSI) [1462:058c]
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0, Cache Line Size: 32 bytes
Interrupt: pin A routed to IRQ 23
Region 0: Memory at fdafc000 (64-bit, non-prefetchable) [size=16K]
Region 2: I/O ports at 7c00 [size=256]
[virtual] Expansion ROM at fd900000 [disabled] [size=128K]
I have noticed there are several other bugs regarding this driver, such as bug #83009 (includes a "soft lockup" that doesn't happen here), bug #68338 (task against 2.6.20 was marked rejected) and bug #37784 (talks of problems on tiny uploads and requires manual interaction to restore connectivity), but none of them seem identical to this.
Changed in linux: | |
status: | Unknown → Fix Released |
Changed in linux: | |
status: | Unknown → Confirmed |
Changed in linux: | |
status: | Confirmed → Incomplete |
Changed in linux: | |
status: | Incomplete → Invalid |
Changed in linux: | |
importance: | Unknown → Medium |
Still exists with 2.6.20-16