svn commit: r190898 - head/sys/dev/ed
Warner Losh
imp at FreeBSD.org
Fri Apr 10 15:30:20 UTC 2009
Author: imp
Date: Fri Apr 10 15:30:19 2009
New Revision: 190898
URL: http://svn.freebsd.org/changeset/base/190898
Log:
Fix some comments.
Modified:
head/sys/dev/ed/if_ed_pccard.c
Modified: head/sys/dev/ed/if_ed_pccard.c
==============================================================================
--- head/sys/dev/ed/if_ed_pccard.c Fri Apr 10 15:18:03 2009 (r190897)
+++ head/sys/dev/ed/if_ed_pccard.c Fri Apr 10 15:30:19 2009 (r190898)
@@ -469,8 +469,10 @@ ed_pccard_attach(device_t dev)
goto bad;
/*
- * Determine which chipset we are. All the PC Card chipsets have the
- * ASIC and NIC offsets in the same place.
+ * Determine which chipset we are. Almost the PC Card chipsets have
+ * the ASIC and NIC offsets in the same place. There's a tiny
+ * minority (2?) that follow the WD80x3 conventions, which are handled
+ * as a special case.
*/
sc->asic_offset = ED_NOVELL_ASIC_OFFSET;
sc->nic_offset = ED_NOVELL_NIC_OFFSET;
@@ -502,13 +504,14 @@ ed_pccard_attach(device_t dev)
}
/*
- * For the older cards, we have to get the MAC address from
- * the card in some way. Let's try the standard PCMCIA way
- * first. If that fails, then check to see if we have valid
- * data from the standard NE-2000 data roms. If that fails,
- * check to see if the card has a hint about where to look in
- * its CIS. If that fails, maybe we should look at some
- * default value. In all fails, we fail the attach.
+ * There are several ways to get the MAC address for the card.
+ * Some of the above probe routines can fill in the enaddr. If
+ * not, we run through a number of 'well known' locations:
+ * (1) From the PC Card FUNCE
+ * (2) From offset 0 in the shared memory
+ * (3) From a hinted offset in attribute memory
+ * (4) From 0xff0 in attribute memory
+ * If we can't get a non-zero MAC address from this list, we fail.
*/
for (i = 0, sum = 0; i < ETHER_ADDR_LEN; i++)
sum |= sc->enaddr[i];
More information about the svn-src-head
mailing list