]> git.baikalelectronics.ru Git - kernel.git/commit
3cSOHO100-TX needs EXTRA_PREAMBLE
authorSteffen Klassert <klassert@mathematik.tu-chemnitz.de>
Mon, 9 Jul 2007 18:50:23 +0000 (11:50 -0700)
committerJeff Garzik <jeff@garzik.org>
Tue, 10 Jul 2007 16:22:30 +0000 (12:22 -0400)
commitd40e79773a78aa1c37dc0378c7e7213f3e289c90
treee3c5c03e57f9c552f22dfc1bb6efe0a793b3d053
parenta8ee3704b9d52c48fc8a2fc9d6f0f6870e6d8feb
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>
drivers/net/3c59x.c