From: Marc Zyngier <mzyngier@freesurf.fr>

The following patch tries to fix a small bug that crept in at some
point during 2.5.

None of my 3c592 or 3c597 would work if I didn't force media
type. Instead, it would try to probe MII, looking for a suitable
transceiver, and finaly give up, because these cards really do not
have any sort of MII... :

EISA: Probing bus 0 at Intel Corp. 82375EB
EISA: Mainboard DEC5000 detected.
EISA: slot 2 : ADP0001 detected.
EISA: slot 3 : ADP7771 detected.
EISA: slot 4 : DPTA401 detected.
EISA: slot 5 : TCM5920 detected.
3c59x: Donald Becker and others. www.scyld.com/network/vortex.html
00:05: 3Com EISA 3c592 EISA 10Mbps Demon/Vortex at 0x5000. Vers LK1.1.19
  ***WARNING*** No MII transceivers found!
EISA: Detected 4 cards.

With the enclosed patch, it just works, at least on my setup (3c592 on
Alpha, and 3c597 on x86). I haven't been able to test it didn't break
cards with MII, because I do not have such cards in my test boxes...

The patch also removes two useless EISA-only #define I introduced some
time ago.



 25-akpm/drivers/net/3c59x.c |    8 +++-----
 1 files changed, 3 insertions(+), 5 deletions(-)

diff -puN drivers/net/3c59x.c~3c59x-eisa-fix drivers/net/3c59x.c
--- 25/drivers/net/3c59x.c~3c59x-eisa-fix	Thu Jul 17 09:42:29 2003
+++ 25-akpm/drivers/net/3c59x.c	Thu Jul 17 09:42:29 2003
@@ -480,10 +480,8 @@ static struct vortex_chip_info {
 } vortex_info_tbl[] __devinitdata = {
 	{"3c590 Vortex 10Mbps",
 	 PCI_USES_IO|PCI_USES_MASTER, IS_VORTEX, 32, },
-#define EISA_3C592_OFFSET 1		/* Offset of this entry for vortex_eisa_init */
 	{"3c592 EISA 10Mbps Demon/Vortex",					/* AKPM: from Don's 3c59x_cb.c 0.49H */
 	 PCI_USES_IO|PCI_USES_MASTER, IS_VORTEX, 32, },
-#define EISA_3C597_OFFSET 2		/* Offset of this entry for vortex_eisa_init */
 	{"3c597 EISA Fast Demon/Vortex",					/* AKPM: from Don's 3c59x_cb.c 0.49H */
 	 PCI_USES_IO|PCI_USES_MASTER, IS_VORTEX, 32, },
 	{"3c595 Vortex 100baseTx",
@@ -953,8 +951,8 @@ static int vortex_resume (struct pci_dev
 
 #ifdef CONFIG_EISA
 static struct eisa_device_id vortex_eisa_ids[] = {
-	{ "TCM5920", EISA_3C592_OFFSET },
-	{ "TCM5970", EISA_3C597_OFFSET },
+	{ "TCM5920", CH_3C592 },
+	{ "TCM5970", CH_3C597 },
 	{ "" }
 };
 
@@ -1366,7 +1364,7 @@ static int __devinit vortex_probe1(struc
 	} else
 		dev->if_port = vp->default_media;
 
-	if ((vp->available_media & 0x4b) || (vci->drv_flags & HAS_NWAY) ||
+	if ((vp->available_media & 0x40) || (vci->drv_flags & HAS_NWAY) ||
 		dev->if_port == XCVR_MII || dev->if_port == XCVR_NWAY) {
 		int phy, phy_idx = 0;
 		EL3WINDOW(4);

_