diff mbox series

net/cdc_ncm: Fix multicast RX support for CDC NCM devices with ZLP

Message ID 20221121131336.21494-1-santiago.ruano-rincon@imt-atlantique.fr (mailing list archive)
State Superseded
Headers show
Series net/cdc_ncm: Fix multicast RX support for CDC NCM devices with ZLP | expand

Commit Message

Santiago Ruano Rincón Nov. 21, 2022, 1:13 p.m. UTC
ZLP for DisplayLink ethernet devices was enabled in 6.0:
266c0190aee3 ("net/cdc_ncm: Enable ZLP for DisplayLink ethernet devices").
The related driver_info should be the "same as cdc_ncm_info, but with
FLAG_SEND_ZLP". However, set_rx_mode that enables handling multicast
traffic was missing in the new cdc_ncm_zlp_info.

usbnet_cdc_update_filter rx mode was introduced in linux 5.9 with:
e10dcb1b6ba7 ("net: cdc_ncm: hook into set_rx_mode to admit multicast
traffic")

Without this hook, multicast, and then IPv6 SLAAC, is broken.

Fixes: 266c0190aee3 ("net/cdc_ncm: Enable ZLP for DisplayLink ethernet
devices")

Signed-off-by: Santiago Ruano Rincón <santiago.ruano-rincon@imt-atlantique.fr>
---
 drivers/net/usb/cdc_ncm.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Greg KH Nov. 21, 2022, 3:19 p.m. UTC | #1
On Mon, Nov 21, 2022 at 02:13:37PM +0100, Santiago Ruano Rincón wrote:
> ZLP for DisplayLink ethernet devices was enabled in 6.0:
> 266c0190aee3 ("net/cdc_ncm: Enable ZLP for DisplayLink ethernet devices").
> The related driver_info should be the "same as cdc_ncm_info, but with
> FLAG_SEND_ZLP". However, set_rx_mode that enables handling multicast
> traffic was missing in the new cdc_ncm_zlp_info.
> 
> usbnet_cdc_update_filter rx mode was introduced in linux 5.9 with:
> e10dcb1b6ba7 ("net: cdc_ncm: hook into set_rx_mode to admit multicast
> traffic")
> 
> Without this hook, multicast, and then IPv6 SLAAC, is broken.
> 
> Fixes: 266c0190aee3 ("net/cdc_ncm: Enable ZLP for DisplayLink ethernet
> devices")

This needs to all be on one line.

> 

With no blank line here.

thanks,

greg k-h
diff mbox series

Patch

diff --git a/drivers/net/usb/cdc_ncm.c b/drivers/net/usb/cdc_ncm.c
index 8d5cbda33f66..0897fdb6254b 100644
--- a/drivers/net/usb/cdc_ncm.c
+++ b/drivers/net/usb/cdc_ncm.c
@@ -1915,6 +1915,7 @@  static const struct driver_info cdc_ncm_zlp_info = {
 	.status = cdc_ncm_status,
 	.rx_fixup = cdc_ncm_rx_fixup,
 	.tx_fixup = cdc_ncm_tx_fixup,
+	.set_rx_mode = usbnet_cdc_update_filter,
 };
 
 /* Same as cdc_ncm_info, but with FLAG_WWAN */