--- zzzz-none-000/linux-5.15.111/drivers/net/usb/rndis_host.c 2023-05-11 14:00:40.000000000 +0000 +++ puma7-atom-6670-761/linux-5.15.111/drivers/net/usb/rndis_host.c 2024-02-07 10:23:12.000000000 +0000 @@ -371,6 +371,21 @@ net->mtu = dev->hard_mtu - net->hard_header_len; } +/* == 20160222 AVM/VGJ - CHANGESET: FIX for buggy ZTE Modems: Adjust Rx Buffer Size == */ +#if 1 + if (tmp > dev->rx_urb_size) { + dev->rx_urb_size = 4096; + while (tmp > dev->rx_urb_size) { + dev->rx_urb_size += 4096; + if (dev->rx_urb_size >= (4*4096)) { + break; + } + } + dev_warn(&intf->dev, + "dev needs rx_urb_size %d, adjusting to %d\n", tmp, dev->rx_urb_size); + } +#endif + /* REVISIT: peripheral "alignment" request is ignored ... */ dev_dbg(&intf->dev, "hard mtu %u (%u from dev), rx buflen %zu, align %d\n",