]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
rndis_host: enable power management for Telit LE310X1
authorShaoxu Liu <shaoxul@foxmail.com>
Tue, 2 Jun 2026 09:05:28 +0000 (17:05 +0800)
committerJakub Kicinski <kuba@kernel.org>
Fri, 5 Jun 2026 01:10:56 +0000 (18:10 -0700)
Enable autosuspend support for Telit Cinterion LE310X1 RNDIS interface
by selecting a driver_info variant with manage_power callback.

This keeps power management scoped to the new Telit ID only, and avoids
changing behavior for all existing RNDIS devices.

Signed-off-by: Shaoxu Liu <shaoxul@foxmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://patch.msgid.link/tencent_B7686B84CD4B76D76BB912FA6367FAC2CA05@qq.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/usb/rndis_host.c

index 46eab7bda0039d32f6d8b6f1726b7d2b01a41e0b..5e39d05a2d7b6dfb16cfbeebd0f5764a850ccb23 100644 (file)
@@ -630,6 +630,17 @@ static const struct driver_info    zte_rndis_info = {
        .tx_fixup =     rndis_tx_fixup,
 };
 
+static const struct driver_info        rndis_info_lowpower = {
+       .description =  "RNDIS device",
+       .flags =        FLAG_ETHER | FLAG_POINTTOPOINT | FLAG_FRAMING_RN | FLAG_NO_SETINT,
+       .bind =         rndis_bind,
+       .unbind =       rndis_unbind,
+       .status =       rndis_status,
+       .rx_fixup =     rndis_rx_fixup,
+       .tx_fixup =     rndis_tx_fixup,
+       .manage_power = usbnet_manage_power,
+};
+
 /*-------------------------------------------------------------------------*/
 
 static const struct usb_device_id      products [] = {
@@ -661,7 +672,7 @@ static const struct usb_device_id   products [] = {
        /* Telit Cinterion LE310X1 RNDIS */
        USB_DEVICE_AND_INTERFACE_INFO(0x1bc7, 0x7030,
                                      USB_CLASS_WIRELESS_CONTROLLER, 1, 3),
-       .driver_info = (unsigned long)&rndis_info,
+       .driver_info = (unsigned long)&rndis_info_lowpower,
 }, {
        /* "ActiveSync" is an undocumented variant of RNDIS, used in WM5 */
        USB_INTERFACE_INFO(USB_CLASS_MISC, 1, 1),