hv_netvsc: fix filter flags
authorStephen Hemminger <stephen@networkplumber.org>
Wed, 7 Mar 2018 21:49:09 +0000 (13:49 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 30 May 2018 05:52:13 +0000 (07:52 +0200)
[ Upstream commit de3d50aadd40bf68614db9fd157b275ce9c2d467 ]

The recent change to not always enable all multicast and broadcast
was broken; meant to set filter, not change flags.

Fixes: 009f766ca238 ("hv_netvsc: filter multicast/broadcast")
Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/hyperv/rndis_filter.c

index e1827e2..99b55a3 100644 (file)
@@ -857,9 +857,9 @@ static void rndis_set_multicast(struct work_struct *w)
                filter = NDIS_PACKET_TYPE_PROMISCUOUS;
        } else {
                if (flags & IFF_ALLMULTI)
-                       flags |= NDIS_PACKET_TYPE_ALL_MULTICAST;
+                       filter |= NDIS_PACKET_TYPE_ALL_MULTICAST;
                if (flags & IFF_BROADCAST)
-                       flags |= NDIS_PACKET_TYPE_BROADCAST;
+                       filter |= NDIS_PACKET_TYPE_BROADCAST;
        }
 
        rndis_filter_set_packet_filter(rdev, filter);