--- zzzz-none-000/linux-4.9.231/drivers/net/usb/rndis_host.c 2020-07-22 07:10:54.000000000 +0000 +++ falcon-5530-730/linux-4.9.231/drivers/net/usb/rndis_host.c 2022-08-31 08:19:49.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",