diff options
author | luigi <luigi@FreeBSD.org> | 2004-04-15 20:31:10 +0000 |
---|---|---|
committer | luigi <luigi@FreeBSD.org> | 2004-04-15 20:31:10 +0000 |
commit | 7d7307d2e1689754b4def7b381a46fd20919d442 (patch) | |
tree | 5724ee7f72224819d2453cd24c370e176d84429f /sys/dev/sn/if_sn.c | |
parent | fa9222585e2ae94c9da702e4b6a4fd959416bd33 (diff) | |
download | FreeBSD-src-7d7307d2e1689754b4def7b381a46fd20919d442.zip FreeBSD-src-7d7307d2e1689754b4def7b381a46fd20919d442.tar.gz |
Remove improper use of if_addrhead in device drivers to check
if the link-level address has been initialized already.
The majority of modern drivers never does this and works fine, which
makes me think that the check is totally unnecessary and a residue
of cut&paste from other drivers.
This change is done to simplify locking because now almost none of the
drivers uses this field. The exceptions are "ct" "ctau" and "cx"
where i am not sure if i can remove that part.
Diffstat (limited to 'sys/dev/sn/if_sn.c')
-rw-r--r-- | sys/dev/sn/if_sn.c | 18 |
1 files changed, 0 insertions, 18 deletions
diff --git a/sys/dev/sn/if_sn.c b/sys/dev/sn/if_sn.c index f65aada..57925fa 100644 --- a/sys/dev/sn/if_sn.c +++ b/sys/dev/sn/if_sn.c @@ -216,24 +216,6 @@ sn_attach(device_t dev) ether_ifattach(ifp, sc->arpcom.ac_enaddr); /* - * Fill the hardware address into ifa_addr if we find an AF_LINK - * entry. We need to do this so bpf's can get the hardware addr of - * this card. netstat likes this too! - */ - ifa = TAILQ_FIRST(&ifp->if_addrhead); - while ((ifa != 0) && (ifa->ifa_addr != 0) && - (ifa->ifa_addr->sa_family != AF_LINK)) - ifa = TAILQ_NEXT(ifa, ifa_link); - - if ((ifa != 0) && (ifa->ifa_addr != 0)) { - sdl = (struct sockaddr_dl *) ifa->ifa_addr; - sdl->sdl_type = IFT_ETHER; - sdl->sdl_alen = ETHER_ADDR_LEN; - sdl->sdl_slen = 0; - bcopy(sc->arpcom.ac_enaddr, LLADDR(sdl), ETHER_ADDR_LEN); - } - - /* * Activate the interrupt so we can get card interrupts. This * needs to be done last so that we don't have/hold the lock * during startup to avoid LORs in the network layer. |