Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

net/cdc_ncm: Enable ZLP for DisplayLink ethernet devices

This improves performance and stability of
DL-3xxx/DL-5xxx/DL-6xxx device series.

Specifically prevents device from temporary network dropouts when
playing video from the web and network traffic going through is high.

Signed-off-by: Dominik Czerwik <dominik.czerwik@synaptics.com>
Signed-off-by: Łukasz Spintzyk <lukasz.spintzyk@synaptics.com>
Link: https://lore.kernel.org/r/20220720060518.541-1-lukasz.spintzyk@synaptics.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>

authored by

Dominik Czerwik and committed by
Paolo Abeni
266c0190 bf2200e8

+24 -1
+24 -1
drivers/net/usb/cdc_ncm.c
··· 1892 1892 } 1893 1893 1894 1894 static const struct driver_info cdc_ncm_info = { 1895 - .description = "CDC NCM", 1895 + .description = "CDC NCM (NO ZLP)", 1896 1896 .flags = FLAG_POINTTOPOINT | FLAG_NO_SETINT | FLAG_MULTI_PACKET 1897 1897 | FLAG_LINK_INTR | FLAG_ETHER, 1898 1898 .bind = cdc_ncm_bind, ··· 1902 1902 .rx_fixup = cdc_ncm_rx_fixup, 1903 1903 .tx_fixup = cdc_ncm_tx_fixup, 1904 1904 .set_rx_mode = usbnet_cdc_update_filter, 1905 + }; 1906 + 1907 + /* Same as cdc_ncm_info, but with FLAG_SEND_ZLP */ 1908 + static const struct driver_info cdc_ncm_zlp_info = { 1909 + .description = "CDC NCM (SEND ZLP)", 1910 + .flags = FLAG_POINTTOPOINT | FLAG_NO_SETINT | FLAG_MULTI_PACKET 1911 + | FLAG_LINK_INTR | FLAG_ETHER | FLAG_SEND_ZLP, 1912 + .bind = cdc_ncm_bind, 1913 + .unbind = cdc_ncm_unbind, 1914 + .manage_power = usbnet_manage_power, 1915 + .status = cdc_ncm_status, 1916 + .rx_fixup = cdc_ncm_rx_fixup, 1917 + .tx_fixup = cdc_ncm_tx_fixup, 1905 1918 }; 1906 1919 1907 1920 /* Same as cdc_ncm_info, but with FLAG_WWAN */ ··· 2021 2008 USB_CLASS_COMM, 2022 2009 USB_CDC_SUBCLASS_NCM, USB_CDC_PROTO_NONE), 2023 2010 .driver_info = (unsigned long)&wwan_info, 2011 + }, 2012 + 2013 + /* DisplayLink docking stations */ 2014 + { .match_flags = USB_DEVICE_ID_MATCH_INT_INFO 2015 + | USB_DEVICE_ID_MATCH_VENDOR, 2016 + .idVendor = 0x17e9, 2017 + .bInterfaceClass = USB_CLASS_COMM, 2018 + .bInterfaceSubClass = USB_CDC_SUBCLASS_NCM, 2019 + .bInterfaceProtocol = USB_CDC_PROTO_NONE, 2020 + .driver_info = (unsigned long)&cdc_ncm_zlp_info, 2024 2021 }, 2025 2022 2026 2023 /* Generic CDC-NCM devices */