diff options
Diffstat (limited to 'sys/dev/pcmcia/if_malo.c')
-rw-r--r-- | sys/dev/pcmcia/if_malo.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/sys/dev/pcmcia/if_malo.c b/sys/dev/pcmcia/if_malo.c index 27af1fb5d48..ad49ccaab91 100644 --- a/sys/dev/pcmcia/if_malo.c +++ b/sys/dev/pcmcia/if_malo.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_malo.c,v 1.49 2007/08/09 21:24:02 mglocker Exp $ */ +/* $OpenBSD: if_malo.c,v 1.50 2007/08/10 10:42:03 mglocker Exp $ */ /* * Copyright (c) 2007 Marcus Glocker <mglocker@openbsd.org> @@ -340,6 +340,7 @@ cmalo_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) struct ieee80211_nodereq_all *na; struct ieee80211_nodereq *nr; struct ifaddr *ifa; + struct ifreq *ifr; int i, j, s, error = 0; s = splnet(); @@ -362,6 +363,15 @@ cmalo_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) cmalo_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; case SIOCS80211SCAN: cmalo_cmd_set_scan(sc); break; |