]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
dm9601: fix IFF_ALLMULTI handling
authorPeter Korsgaard <peter@korsgaard.com>
Mon, 30 Sep 2013 21:28:20 +0000 (23:28 +0200)
committerWilly Tarreau <w@1wt.eu>
Mon, 19 May 2014 05:53:39 +0000 (07:53 +0200)
[ Upstream commit bf0ea6380724beb64f27a722dfc4b0edabff816e ]

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>
Signed-off-by: Willy Tarreau <w@1wt.eu>
drivers/net/usb/dm9601.c

index 9a6eedef4afc9f8d8fc312ed4222f35cb33dc06b..498681ad6b8385ecfa3a13e030452b221a9fb767 100644 (file)
@@ -382,7 +382,7 @@ static void dm9601_set_multicast(struct net_device *net)
        if (net->flags & IFF_PROMISC) {
                rx_ctl |= 0x02;
        } else if (net->flags & IFF_ALLMULTI || net->mc_count > DM_MAX_MCAST) {
-               rx_ctl |= 0x04;
+               rx_ctl |= 0x08;
        } else if (net->mc_count) {
                struct dev_mc_list *mc_list = net->mc_list;
                int i;