Merge git://git.kernel.org/pub/scm/linux/kernel/git/joern/logfs
[firefly-linux-kernel-4.4.55.git] / drivers / staging / hv / RndisFilter.c
index 26d79975387cc0b09e3335b8aeffc1b28af457ab..6704f64c93f0bf329733f7b35502a045b715cb97 100644 (file)
@@ -20,6 +20,7 @@
  */
 #include <linux/kernel.h>
 #include <linux/highmem.h>
+#include <linux/slab.h>
 #include <linux/io.h>
 #include "osd.h"
 #include "logging.h"
@@ -85,10 +86,6 @@ static int RndisFilterOnDeviceRemove(struct hv_device *Device);
 
 static void RndisFilterOnCleanup(struct hv_driver *Driver);
 
-static int RndisFilterOnOpen(struct hv_device *Device);
-
-static int RndisFilterOnClose(struct hv_device *Device);
-
 static int RndisFilterOnSend(struct hv_device *Device,
                             struct hv_netvsc_packet *Packet);
 
@@ -654,8 +651,6 @@ int RndisFilterInit(struct netvsc_driver *Driver)
        Driver->Base.OnDeviceRemove = RndisFilterOnDeviceRemove;
        Driver->Base.OnCleanup = RndisFilterOnCleanup;
        Driver->OnSend = RndisFilterOnSend;
-       Driver->OnOpen = RndisFilterOnOpen;
-       Driver->OnClose = RndisFilterOnClose;
        /* Driver->QueryLinkStatus = RndisFilterQueryDeviceLinkStatus; */
        Driver->OnReceiveCallback = RndisFilterOnReceive;
 
@@ -756,6 +751,7 @@ static int RndisFilterOpenDevice(struct rndis_device *Device)
 
        ret = RndisFilterSetPacketFilter(Device,
                                         NDIS_PACKET_TYPE_BROADCAST |
+                                        NDIS_PACKET_TYPE_ALL_MULTICAST |
                                         NDIS_PACKET_TYPE_DIRECTED);
        if (ret == 0)
                Device->State = RNDIS_DEV_DATAINITIALIZED;
@@ -888,7 +884,7 @@ static void RndisFilterOnCleanup(struct hv_driver *Driver)
        DPRINT_EXIT(NETVSC);
 }
 
-static int RndisFilterOnOpen(struct hv_device *Device)
+int RndisFilterOnOpen(struct hv_device *Device)
 {
        int ret;
        struct netvsc_device *netDevice = Device->Extension;
@@ -903,7 +899,7 @@ static int RndisFilterOnOpen(struct hv_device *Device)
        return ret;
 }
 
-static int RndisFilterOnClose(struct hv_device *Device)
+int RndisFilterOnClose(struct hv_device *Device)
 {
        int ret;
        struct netvsc_device *netDevice = Device->Extension;