dm9601: fix IFF_ALLMULTI handling
authorPeter Korsgaard <peter@korsgaard.com>
Mon, 30 Sep 2013 21:28:20 +0000 (23:28 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 30 Sep 2013 23:48:59 +0000 (19:48 -0400)
Pass-all-multicast is controlled by bit 3 in RX control, not bit 2
(pass undersized frames).

Reported-by: Joseph Chang <joseph_chang@davicom.com.tw>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/usb/dm9601.c

index 2dbb9460349d3659fc738eabb35f01cb0022e049..c6867f926cffc18a981c7682e5493ae36924d988 100644 (file)
@@ -303,7 +303,7 @@ static void dm9601_set_multicast(struct net_device *net)
                rx_ctl |= 0x02;
        } else if (net->flags & IFF_ALLMULTI ||
                   netdev_mc_count(net) > DM_MAX_MCAST) {
                rx_ctl |= 0x02;
        } else if (net->flags & IFF_ALLMULTI ||
                   netdev_mc_count(net) > DM_MAX_MCAST) {
-               rx_ctl |= 0x04;
+               rx_ctl |= 0x08;
        } else if (!netdev_mc_empty(net)) {
                struct netdev_hw_addr *ha;
 
        } else if (!netdev_mc_empty(net)) {
                struct netdev_hw_addr *ha;