Date: Fri, 10 Apr 2009 15:30:19 +0000 (UTC) From: Warner Losh <imp@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r190898 - head/sys/dev/ed Message-ID: <200904101530.n3AFUJeg052577@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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];
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200904101530.n3AFUJeg052577>