[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20170515115853.32688-1-oneukum@suse.com>
Date: Mon, 15 May 2017 13:58:53 +0200
From: Oliver Neukum <oneukum@...e.com>
To: davem@...emloft.net, netdev@...r.kernel.org
Cc: Oliver Neukum <oneukum@...e.com>
Subject: [PATCH] usbnet: no address filtering on RNDIS
RNDIS does not do multicast filtering and the commands crash a few devices.
Make it conditional.
Fixes: b527caee1b91946db844b1dc63d4f726958891c8
Signed-off-by: Oliver Neukum <oneukum@...e.com>
Reported-by: "Ridgway, Keith" <kridgway@...ris.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
Powered by blists - more mailing lists