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