summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--c/src/libchip/ChangeLog7
-rw-r--r--c/src/libchip/network/if_fxp.c26
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...