summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorSteffen Klassert <klassert@mathematik.tu-chemnitz.de>2007-07-09 20:50:23 +0200
committerJeff Garzik <jeff@garzik.org>2007-07-10 18:22:30 +0200
commitb8a1fcee26126b566d9e28ba80c643a7a10543eb (patch)
treee3c5c03e57f9c552f22dfc1bb6efe0a793b3d053 /drivers
parentUse is_power_of_2() in myri10ge/myri10ge.c (diff)
downloadlinux-b8a1fcee26126b566d9e28ba80c643a7a10543eb.tar.xz
linux-b8a1fcee26126b566d9e28ba80c643a7a10543eb.zip
3cSOHO100-TX needs EXTRA_PREAMBLE
The 3cSOHO100-TX needs a mdio_sync() before mdio_read() to read the MII transceiver registers properly. Adding EXTRA_PREAMBLE to drv_flags of the 3cSOHO100-TX will force this. This problem exists already for years (I checked back to 2.6.8). Setting duplex for the 3cSOHO100-TX was more or less a random process. Till 2.6.15 it was more likely that the diver ends up in half duplex mode, after the code change in 2.6.16 it was more likely to end up in full duplex mode. I wonder why nobody noticed this earier. Hopefully addresses Bug 7454 3c59x (3cSOHO100-TX Hurricane) slow network bug http://bugzilla.kernel.org/show_bug.cgi?id=7454 and Bug 3654 3cSOHO100-TX: No MII transceiver present http://bugzilla.kernel.org/show_bug.cgi?id=3654 Cc: Jonas Sandberg <jonassa@gmail.com> Cc: Jon Sanchez <bugs@niluje.net> Signed-off-by: Steffen Klassert <klassert@mathematik.tu-chemnitz.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/3c59x.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/3c59x.c b/drivers/net/3c59x.c
index f26ca331615e..6deb20fc7a08 100644
--- a/drivers/net/3c59x.c
+++ b/drivers/net/3c59x.c
@@ -324,7 +324,7 @@ static struct vortex_chip_info {
{"3c980C Python-T",
PCI_USES_MASTER, IS_CYCLONE|HAS_NWAY|HAS_HWCKSM, 128, },
{"3cSOHO100-TX Hurricane",
- PCI_USES_MASTER, IS_CYCLONE|HAS_NWAY|HAS_HWCKSM, 128, },
+ PCI_USES_MASTER, IS_CYCLONE|HAS_NWAY|HAS_HWCKSM|EXTRA_PREAMBLE, 128, },
{"3c555 Laptop Hurricane",
PCI_USES_MASTER, IS_CYCLONE|EEPROM_8BIT|HAS_HWCKSM, 128, },
{"3c556 Laptop Tornado",