On Saturday 09 February 2008 10:51:06 David Brownell wrote: > So I'd rather see a one-line fix to the RNDIS host code, instead of > this more elaborate approach. Could you give that a try?
So here is the new proposal. Signed-off-by: Jean-Christophe Dubois <[EMAIL PROTECTED]> --- diff -ruN linux-source-2.6.24/drivers/net/usb/rndis_host.c linux-source-2.6.24.new/drivers/net/usb/rndis_host.c --- linux-source-2.6.24/drivers/net/usb/rndis_host.c 2008-01-24 11:52:31.000000000 +0100 +++ linux-source-2.6.24.new/drivers/net/usb/rndis_host.c 2008-02-11 17:43:48.000000000 +0100 @@ -499,8 +499,18 @@ net->hard_header_len += sizeof (struct rndis_data_hdr); dev->hard_mtu = net->mtu + net->hard_header_len; + /* now we need to compute dev->maxpacket */ + dev->maxpacket = usb_maxpacket (dev->udev, dev->out, 1); + + if (dev->maxpacket == 0) { + dev_err(&intf->dev, "dev->maxpacket can't be 0\n"); + retval = -EINVAL; + goto fail_and_release; + } + dev->rx_urb_size = dev->hard_mtu + (dev->maxpacket + 1); dev->rx_urb_size &= ~(dev->maxpacket - 1); + u.init->max_transfer_size = cpu_to_le32(dev->rx_urb_size); net->change_mtu = NULL; - To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html