diff options
author | Marcus Glocker <mglocker@cvs.openbsd.org> | 2007-02-14 20:52:27 +0000 |
---|---|---|
committer | Marcus Glocker <mglocker@cvs.openbsd.org> | 2007-02-14 20:52:27 +0000 |
commit | bca53af6b10e20b655dde4fa4efa52557991998e (patch) | |
tree | 1bcde4e6f9bd32f37a923ace52e4871ee58d7f7d | |
parent | 94bb45c203b00214d83cea8295a7209ede790f30 (diff) |
Sync with pgt(4) multicast fix.
OK claudio@
-rw-r--r-- | sys/dev/ic/malo.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/sys/dev/ic/malo.c b/sys/dev/ic/malo.c index ef65c176e1d..8e92ead659f 100644 --- a/sys/dev/ic/malo.c +++ b/sys/dev/ic/malo.c @@ -1,4 +1,4 @@ -/* $OpenBSD: malo.c,v 1.62 2007/02/09 10:35:43 claudio Exp $ */ +/* $OpenBSD: malo.c,v 1.63 2007/02/14 20:52:26 mglocker Exp $ */ /* * Copyright (c) 2006 Claudio Jeker <claudio@openbsd.org> @@ -972,6 +972,7 @@ malo_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) struct malo_softc *sc = ifp->if_softc; struct ieee80211com *ic = &sc->sc_ic; struct ifaddr *ifa; + struct ifreq *ifr; int s, error = 0; s = splnet(); @@ -994,6 +995,16 @@ malo_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) malo_stop(sc); } break; + case SIOCADDMULTI: + case SIOCDELMULTI: + ifr = (struct ifreq *)data; + error = (cmd == SIOCADDMULTI) ? + ether_addmulti(ifr, &ic->ic_ac) : + ether_delmulti(ifr, &ic->ic_ac); + + if (error == ENETRESET) + error = 0; + break; default: error = ieee80211_ioctl(ifp, cmd, data); break; |