RNDIS does not do multicast filtering and the commands crash a few devices.
Make it conditional.

Fixes: b527caee1b91946db844b1dc63d4f726958891c8
Signed-off-by: Oliver Neukum <oneu...@suse.com>
Reported-by: "Ridgway, Keith" <kridg...@harris.com>
---
 drivers/net/usb/cdc_ether.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/net/usb/cdc_ether.c b/drivers/net/usb/cdc_ether.c
index f3ae88fdf332..64b1a6bdef98 100644
--- a/drivers/net/usb/cdc_ether.c
+++ b/drivers/net/usb/cdc_ether.c
@@ -313,9 +313,11 @@ int usbnet_generic_cdc_bind(struct usbnet *dev, struct 
usb_interface *intf)
        /* Some devices don't initialise properly. In particular
         * the packet filter is not reset. There are devices that
         * don't do reset all the way. So the packet filter should
-        * be set to a sane initial value.
+        * be set to a sane initial value, if filtering is supported.
+        * RNDIS does not support it.
         */
-       usbnet_cdc_update_filter(dev);
+       if (!rndis)
+               usbnet_cdc_update_filter(dev);
 
        return 0;
 
-- 
2.12.0

Reply via email to