summaryrefslogtreecommitdiffstats
path: root/c/src/libchip/network/if_fxp.c
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2004-05-21 15:18:14 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2004-05-21 15:18:14 +0000
commit1402d56abf125a8317ce8a6659f6ba2e5bde5eb1 (patch)
treed55b479e82ba08cfd418203a2ae862ccec115544 /c/src/libchip/network/if_fxp.c
parent2004-05-21 Till Strauman <strauman@slac.stanford.edu> (diff)
downloadrtems-1402d56abf125a8317ce8a6659f6ba2e5bde5eb1.tar.bz2
2004-05-21 Till Strauman <strauman@slac.stanford.edu>
* PR/625/networking * libchip/network/dec21140.c, ... : Prevent name clashes by making 'ld_le32()' etc. static inlines. Let dec21140 attach routine return an error rather than panic if no chip is detected (thus allowing for probing). * libchip/network/elnk.c: Let elnk bail out if autoneg never completes instead of looping forever. Avoid divide by zero (crashed my PC). * libchip/network/if_fxp.c: Enable more fxp chip variants but warn that they are UNTESTED.
Diffstat (limited to '')
-rw-r--r--c/src/libchip/network/if_fxp.c55
1 files changed, 28 insertions, 27 deletions
diff --git a/c/src/libchip/network/if_fxp.c b/c/src/libchip/network/if_fxp.c
index 0de7c2a508..45e7cd0f98 100644
--- a/c/src/libchip/network/if_fxp.c
+++ b/c/src/libchip/network/if_fxp.c
@@ -182,8 +182,11 @@ static u_char fxp_cb_config_template[] = {
struct fxp_ident {
u_int16_t devid;
char *name;
+ int warn;
};
+#define UNTESTED 1
+
/*
* Claim various Intel PCI device identifiers for this driver. The
* sub-vendor and sub-device field are extensively used to identify
@@ -191,28 +194,19 @@ struct fxp_ident {
* them.
*/
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" },
- { 0x1034, "Intel Pro/100 Ethernet" },
- { 0x1035, "Intel Pro/100 Ethernet" },
- { 0x1036, "Intel Pro/100 Ethernet" },
- { 0x1037, "Intel Pro/100 Ethernet" },
- { 0x1038, "Intel Pro/100 Ethernet" },
-#endif
+ { 0x1229, "Intel Pro 10/100B/100+ Ethernet", UNTESTED },
+ { 0x2449, "Intel Pro/100 Ethernet", UNTESTED },
+ { 0x1209, "Intel Embedded 10/100 Ethernet", 0 },
+ { 0x1029, "Intel Pro/100 Ethernet", UNTESTED },
+ { 0x1030, "Intel Pro/100 Ethernet", 0 },
+ { 0x1031, "Intel Pro/100 Ethernet", UNTESTED },
+ { 0x1032, "Intel Pro/100 Ethernet", UNTESTED },
+ { 0x1033, "Intel Pro/100 Ethernet", UNTESTED },
+ { 0x1034, "Intel Pro/100 Ethernet", UNTESTED },
+ { 0x1035, "Intel Pro/100 Ethernet", UNTESTED },
+ { 0x1036, "Intel Pro/100 Ethernet", UNTESTED },
+ { 0x1037, "Intel Pro/100 Ethernet", UNTESTED },
+ { 0x1038, "Intel Pro/100 Ethernet", UNTESTED },
{ 0, NULL },
};
@@ -467,14 +461,21 @@ rtems_fxp_attach(struct rtems_bsdnet_ifconfig *config, int attaching)
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));
+ 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;
+ if (PCIB_ERR_SUCCESS == i) {
+ if ( UNTESTED == fxp_ident_table[j].warn ) {
+ device_printf(dev
+"WARNING: this chip version has NOT been reported to work under RTEMS yet.\n");
+ device_printf(dev,
+" If it works OK, report it as tested in 'c/src/libchip/network/if_fxp.c'\n");
+ }
+ break;
+ }
}
}