[PATCH v2] net: usb: cdc_mbim: add MeiG Smart SRM821 to ZLP whitelist

Ming Wang posted 1 patch 4 days, 12 hours ago
drivers/net/usb/cdc_mbim.c | 5 +++++
1 file changed, 5 insertions(+)
[PATCH v2] net: usb: cdc_mbim: add MeiG Smart SRM821 to ZLP whitelist
Posted by Ming Wang 4 days, 12 hours ago
The MeiG Smart SRM821 5G module (0x2dee:0x4d53) crashes and drops off
the USB bus when it receives a Zero Length Packet (ZLP) after sending
or receiving an NTB of exactly 16384 bytes (tx_max).

According to the MBIM specification, devices do not require a ZLP
if the NTB size is exactly dwNtbOutMaxSize. However, the cdc_mbim
driver defaults to sending ZLPs for devices not explicitly whitelisted
to accommodate non-conformant hardware. This default behavior breaks
the strictly conformant MeiG SRM821 module.

Add this device to the ZLP conformance whitelist (cdc_mbim_info) so
the driver will pad the NTB to avoid sending ZLPs, preventing the
device firmware from crashing.

Cc: stable@vger.kernel.org
Signed-off-by: Ming Wang <wangming01@loongson.cn>
---
v2: moved MeiG entry below Ericsson for better grouping; added Cc stable
 drivers/net/usb/cdc_mbim.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/net/usb/cdc_mbim.c b/drivers/net/usb/cdc_mbim.c
index 877fb0ed7d3d..a7010a0664c7 100644
--- a/drivers/net/usb/cdc_mbim.c
+++ b/drivers/net/usb/cdc_mbim.c
@@ -635,6 +635,11 @@ static const struct usb_device_id mbim_devs[] = {
 	  .driver_info = (unsigned long)&cdc_mbim_info,
 	},
 
+	/* MeiG Smart SRM821 ZLP conformance */
+	{ USB_DEVICE_AND_INTERFACE_INFO(0x2dee, 0x4d53, USB_CLASS_COMM, USB_CDC_SUBCLASS_MBIM, USB_CDC_PROTO_NONE),
+	  .driver_info = (unsigned long)&cdc_mbim_info,
+	},
+
 	/* Some Huawei devices, ME906s-158 (12d1:15c1) and E3372
 	 * (12d1:157d), are known to fail unless the NDP is placed
 	 * after the IP packets.  Applying the quirk to all Huawei
-- 
2.43.7
Re: [PATCH v2] net: usb: cdc_mbim: add MeiG Smart SRM821 to ZLP whitelist
Posted by Paolo Abeni 9 hours ago
On 9/20/26 09:44, Ming Wang wrote:
> The MeiG Smart SRM821 5G module (0x2dee:0x4d53) crashes and drops off
> the USB bus when it receives a Zero Length Packet (ZLP) after sending
> or receiving an NTB of exactly 16384 bytes (tx_max).
> 
> According to the MBIM specification, devices do not require a ZLP
> if the NTB size is exactly dwNtbOutMaxSize. However, the cdc_mbim
> driver defaults to sending ZLPs for devices not explicitly whitelisted
> to accommodate non-conformant hardware. This default behavior breaks
> the strictly conformant MeiG SRM821 module.
> 
> Add this device to the ZLP conformance whitelist (cdc_mbim_info) so
> the driver will pad the NTB to avoid sending ZLPs, preventing the
> device firmware from crashing.
> 
> Cc: stable@vger.kernel.org
> Signed-off-by: Ming Wang <wangming01@loongson.cn>

Before any other step, please read:

https://elixir.bootlin.com/linux/v7.3-rc3/source/Documentation/process/maintainer-netdev.rst#L454

AFAICS this is actually support for additional H/W, just worded in
very unusual way: please reword the commit message accordingly and
drop stable from CC.

/P
Re: [PATCH v2] net: usb: cdc_mbim: add MeiG Smart SRM821 to ZLP whitelist
Posted by Greg KH 5 hours ago
On Thu, Sep 24, 2026 at 12:24:06PM +0200, Paolo Abeni wrote:
> On 9/20/26 09:44, Ming Wang wrote:
> > The MeiG Smart SRM821 5G module (0x2dee:0x4d53) crashes and drops off
> > the USB bus when it receives a Zero Length Packet (ZLP) after sending
> > or receiving an NTB of exactly 16384 bytes (tx_max).
> > 
> > According to the MBIM specification, devices do not require a ZLP
> > if the NTB size is exactly dwNtbOutMaxSize. However, the cdc_mbim
> > driver defaults to sending ZLPs for devices not explicitly whitelisted
> > to accommodate non-conformant hardware. This default behavior breaks
> > the strictly conformant MeiG SRM821 module.
> > 
> > Add this device to the ZLP conformance whitelist (cdc_mbim_info) so
> > the driver will pad the NTB to avoid sending ZLPs, preventing the
> > device firmware from crashing.
> > 
> > Cc: stable@vger.kernel.org
> > Signed-off-by: Ming Wang <wangming01@loongson.cn>
> 
> Before any other step, please read:
> 
> https://elixir.bootlin.com/linux/v7.3-rc3/source/Documentation/process/maintainer-netdev.rst#L454
> 
> AFAICS this is actually support for additional H/W, just worded in
> very unusual way: please reword the commit message accordingly and
> drop stable from CC.

Why drop stable from cc:?  Do you not want it in any stable kernel
release?  Seems like it should be to me, we gladly take quirk additions
and new device ids in stable kernels.

thanks,

greg k-h
Re: [PATCH v2] net: usb: cdc_mbim: add MeiG Smart SRM821 to ZLP whitelist
Posted by Jakub Kicinski 3 hours ago
On Thu, 24 Sep 2026 16:22:54 +0200 Greg KH wrote:
> > > Cc: stable@vger.kernel.org
> > > Signed-off-by: Ming Wang <wangming01@loongson.cn>  
> > 
> > Before any other step, please read:
> > 
> > https://elixir.bootlin.com/linux/v7.3-rc3/source/Documentation/process/maintainer-netdev.rst#L454
> > 
> > AFAICS this is actually support for additional H/W, just worded in
> > very unusual way: please reword the commit message accordingly and
> > drop stable from CC.  
> 
> Why drop stable from cc:?  Do you not want it in any stable kernel
> release?  Seems like it should be to me, we gladly take quirk additions
> and new device ids in stable kernels.

the irony of telling someone to RTFM while not reading 
someone else's FM :)