--- zzzz-none-000/linux-4.9.276/drivers/net/usb/rndis_host.c 2021-07-20 14:21:16.000000000 +0000 +++ falcon-5530-750/linux-4.9.276/drivers/net/usb/rndis_host.c 2023-04-05 08:19:01.000000000 +0000 @@ -381,6 +381,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",