summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/src/9/pc/ether82557.c15
1 files changed, 5 insertions, 10 deletions
diff --git a/sys/src/9/pc/ether82557.c b/sys/src/9/pc/ether82557.c
index 7194d39c8..267b036ea 100644
--- a/sys/src/9/pc/ether82557.c
+++ b/sys/src/9/pc/ether82557.c
@@ -588,20 +588,15 @@ configure(Ether* ether, int promiscuous)
static void
promiscuous(void* arg, int on)
{
- configure(arg, on);
+ Ether *ether = arg;
+ configure(ether, on || ether->nmaddr > 0);
}
static void
-multicast(void* ether, uchar *addr, int add)
+multicast(void* arg, uchar *, int)
{
- USED(addr);
- /*
- * TODO: if (add) add addr to list of mcast addrs in controller
- * else remove addr from list of mcast addrs in controller
- * enable multicast input (see CbMAS) instead of promiscuous mode.
- */
- if (add)
- configure(ether, 1);
+ Ether *ether = arg;
+ configure(ether, ether->prom || ether->nmaddr > 0);
}
static void