diff options
author | jhb <jhb@FreeBSD.org> | 2005-10-14 18:51:30 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2005-10-14 18:51:30 +0000 |
commit | f63b585ffb04635ade225be42c5ca855a3eb7c12 (patch) | |
tree | 84fbefd69ba2e386c760aa0c23598b002628fdd8 /sys/dev/re | |
parent | ebae8f6ee41b833c83a2aa9705df852e74c55ed2 (diff) | |
download | FreeBSD-src-f63b585ffb04635ade225be42c5ca855a3eb7c12.zip FreeBSD-src-f63b585ffb04635ade225be42c5ca855a3eb7c12.tar.gz |
Only allow the sk(4) driver to attach to revision 2 of the LinkSys EG1032
cards and teach the re(4) driver to attach to revision 3 cards.
Submitted by: Fredrik Lindberg fli+freebsd-current at shapeshifter dot se
MFC after: 2 weeks
Reviewed by: imp, mdodd
Diffstat (limited to 'sys/dev/re')
-rw-r--r-- | sys/dev/re/if_re.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/sys/dev/re/if_re.c b/sys/dev/re/if_re.c index 820415d..daf348c 100644 --- a/sys/dev/re/if_re.c +++ b/sys/dev/re/if_re.c @@ -177,6 +177,8 @@ static struct rl_type re_devs[] = { "RealTek 8110S Single-chip Gigabit Ethernet" }, { COREGA_VENDORID, COREGA_DEVICEID_CGLAPCIGT, RL_HWREV_8169S, "Corega CG-LAPCIGT (RTL8169S) Gigabit Ethernet" }, + { LINKSYS_VENDORID, LINKSYS_DEVICEID_EG1032, RL_HWREV_8169S, + "Linksys EG1032 (RTL8169S) Gigabit Ethernet" }, { 0, 0, 0, NULL } }; @@ -826,6 +828,17 @@ re_probe(dev) while (t->rl_name != NULL) { if ((pci_get_vendor(dev) == t->rl_vid) && (pci_get_device(dev) == t->rl_did)) { + /* + * Only attach to rev. 3 of the Linksys EG1032 adapter. + * Rev. 2 i supported by sk(4). + */ + if ((t->rl_vid == LINKSYS_VENDORID) && + (t->rl_did == LINKSYS_DEVICEID_EG1032) && + (pci_get_subdevice(dev) != + LINKSYS_SUBDEVICE_EG1032_REV3)) { + t++; + continue; + } /* * Temporarily map the I/O space |