[PATCH net-next v2 2/2] rndis_host: enable power management for Telit LE310X1
From: Shaoxu Liu
Date: Tue Jun 02 2026 - 05:11:39 EST
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@xxxxxxxxxxx>
---
drivers/net/usb/rndis_host.c | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/drivers/net/usb/rndis_host.c b/drivers/net/usb/rndis_host.c
index 46eab7bda..5e39d05a2 100644
--- a/drivers/net/usb/rndis_host.c
+++ b/drivers/net/usb/rndis_host.c
@@ -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),
--
2.34.1