--- zzzz-none-000/linux-2.6.28.10/drivers/net/usb/rndis_host.c 2009-05-02 18:54:43.000000000 +0000 +++ fusiv-7390-686/linux-2.6.28.10/drivers/net/usb/rndis_host.c 2014-06-06 15:32:53.000000000 +0000 @@ -351,6 +351,19 @@ dev->hard_mtu, tmp, net->mtu); } + /* == 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",