]> Pileus Git - ~andy/linux/blobdiff - drivers/net/niu.c
dm9000: Support promisc and all-multi modes
[~andy/linux] / drivers / net / niu.c
index e98ce1e4965ba2443bfab1f25906abfe83f4761b..d11ba61baa4f1611a3de3afdf6513ca7b29ad10f 100644 (file)
@@ -1616,12 +1616,13 @@ static int niu_enable_alt_mac(struct niu *np, int index, int on)
        if (index >= niu_num_alt_addr(np))
                return -EINVAL;
 
-       if (np->flags & NIU_FLAGS_XMAC)
+       if (np->flags & NIU_FLAGS_XMAC) {
                reg = XMAC_ADDR_CMPEN;
-       else
+               mask = 1 << index;
+       } else {
                reg = BMAC_ADDR_CMPEN;
-
-       mask = 1 << index;
+               mask = 1 << (index + 1);
+       }
 
        val = nr64_mac(reg);
        if (on)