drivers/net/usb/cdc_mbim.c | 5 +++++ 1 file changed, 5 insertions(+)
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
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
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
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 :)
© 2016 - 2026 Red Hat, Inc.