--- zzzz-none-000/linux-2.6.32.61/drivers/net/usb/rndis_host.c 2013-06-10 09:43:48.000000000 +0000 +++ virian-300e-630/linux-2.6.32.61/drivers/net/usb/rndis_host.c 2014-06-06 15:23:41.000000000 +0000 @@ -370,6 +370,19 @@ net->mtu = dev->hard_mtu - net->hard_header_len; } + /* == 20140606 AVM/WK - FIX: Adjust Rx Buffer Size == */ + 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); + } + /* REVISIT: peripheral "alignment" request is ignored ... */ dev_dbg(&intf->dev, "hard mtu %u (%u from dev), rx buflen %Zu, align %d\n",