mirror of
https://github.com/torvalds/linux.git
synced 2024-11-11 06:31:49 +00:00
rndis_host: reduce MTU instead of refusing to talk to devices with low max packet size
This patch makes the host RNDIS driver talk to RNDIS devices with an MTU less than 1.5k, instead of refusing to talk to such a device. Signed-Off-by: Thomas Sailer <t.sailer@alumni.ethz.ch> Acked-by: David Brownell <dbrownell@users.sourceforge.net> -- Hi Jeff, are you the right person to send this to? Nobody else seems to be wanting to forward this to Linus... Thanks, Tom Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
parent
b88219f8a2
commit
500d2c2f7b
@ -512,11 +512,19 @@ static int rndis_bind(struct usbnet *dev, struct usb_interface *intf)
|
||||
}
|
||||
tmp = le32_to_cpu(u.init_c->max_transfer_size);
|
||||
if (tmp < dev->hard_mtu) {
|
||||
dev_err(&intf->dev,
|
||||
"dev can't take %u byte packets (max %u)\n",
|
||||
dev->hard_mtu, tmp);
|
||||
retval = -EINVAL;
|
||||
goto fail_and_release;
|
||||
if (tmp <= net->hard_header_len) {
|
||||
dev_err(&intf->dev,
|
||||
"dev can't take %u byte packets (max %u)\n",
|
||||
dev->hard_mtu, tmp);
|
||||
retval = -EINVAL;
|
||||
goto fail_and_release;
|
||||
}
|
||||
dev->hard_mtu = tmp;
|
||||
net->mtu = dev->hard_mtu - net->hard_header_len;
|
||||
dev_warn(&intf->dev,
|
||||
"dev can't take %u byte packets (max %u), "
|
||||
"adjusting MTU to %u\n",
|
||||
dev->hard_mtu, tmp, net->mtu);
|
||||
}
|
||||
|
||||
/* REVISIT: peripheral "alignment" request is ignored ... */
|
||||
|
Loading…
Reference in New Issue
Block a user