diff options
Diffstat (limited to 'c/src/libchip')
-rw-r--r-- | c/src/libchip/ChangeLog | 7 | ||||
-rw-r--r-- | c/src/libchip/network/if_fxp.c | 26 |
2 files changed, 28 insertions, 5 deletions
diff --git a/c/src/libchip/ChangeLog b/c/src/libchip/ChangeLog index b11486f4d1..3335d41ee8 100644 --- a/c/src/libchip/ChangeLog +++ b/c/src/libchip/ChangeLog @@ -1,3 +1,10 @@ +2003-02-20 Till Straumann <strauman@slac.stanford.edu> + + PR 354/networkign + * network/if_fxp.c (Intel eepro network driver): re-enabled the chip + against a table of supported chips. The untested + ones are still commented out, however. + 2003-02-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de> * configure.ac: AM_INIT_AUTOMAKE([1.7.2]). diff --git a/c/src/libchip/network/if_fxp.c b/c/src/libchip/network/if_fxp.c index 380b2d6042..93aa66a506 100644 --- a/c/src/libchip/network/if_fxp.c +++ b/c/src/libchip/network/if_fxp.c @@ -190,13 +190,20 @@ struct fxp_ident { * particular variants, but we don't currently differentiate between * them. */ -#ifdef NOTUSED static struct fxp_ident fxp_ident_table[] = { +#ifdef NOTUSED + /* currently untested */ { 0x1229, "Intel Pro 10/100B/100+ Ethernet" }, { 0x2449, "Intel Pro/100 Ethernet" }, +#endif { 0x1209, "Intel Embedded 10/100 Ethernet" }, +#ifdef NOTUSED + /* currently untested */ { 0x1029, "Intel Pro/100 Ethernet" }, +#endif { 0x1030, "Intel Pro/100 Ethernet" }, +#ifdef NOTUSED + /* currently untested */ { 0x1031, "Intel Pro/100 Ethernet" }, { 0x1032, "Intel Pro/100 Ethernet" }, { 0x1033, "Intel Pro/100 Ethernet" }, @@ -205,9 +212,9 @@ static struct fxp_ident fxp_ident_table[] = { { 0x1036, "Intel Pro/100 Ethernet" }, { 0x1037, "Intel Pro/100 Ethernet" }, { 0x1038, "Intel Pro/100 Ethernet" }, +#endif { 0, NULL }, }; -#endif #if 0 static int fxp_probe(device_t dev); @@ -456,11 +463,20 @@ rtems_fxp_attach(struct rtems_bsdnet_ifconfig *config, int attaching) /* * find device on pci bus */ - i = pcib_find_by_devid(0x8086,0x1209,unitNumber-1, - &(sc->pci_signature)); - DBGLVL_PRINTK(2,"fxp_attach: find_devid returned %d " + { int j; + + for (j=0; fxp_ident_table[j].devid; j++ ) { + i = pcib_find_by_devid( 0x8086, + fxp_ident_table[j].devid, + unitNumber-1, + &(sc->pci_signature)); + DBGLVL_PRINTK(2,"fxp_attach: find_devid returned %d " "and pci signature 0x%x\n", i,sc->pci_signature); + if (PCIB_ERR_SUCCESS == i) + break; + } + } /* * FIXME: add search for more device types... |