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