net: cdc_ncm: set correct dev->hard_mtu
usbnet use the hard_mtu value for sizing the tx queue and nothing else. We will be transmitting buffers of up to tx_max size, so that's the proper value to give usbnet. The individual datagram size is completely irrelevant here. Cc: Alexey Orishko <alexey.orishko@gmail.com> Signed-off-by: Bjørn Mork <bjorn@mork.no> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
0e2c4a0054
Коммит
43c87f7838
|
@ -404,13 +404,6 @@ int cdc_ncm_bind_common(struct usbnet *dev, struct usb_interface *intf, u8 data_
|
|||
|
||||
ctx->ether_desc =
|
||||
(const struct usb_cdc_ether_desc *)buf;
|
||||
dev->hard_mtu =
|
||||
le16_to_cpu(ctx->ether_desc->wMaxSegmentSize);
|
||||
|
||||
if (dev->hard_mtu < CDC_NCM_MIN_DATAGRAM_SIZE)
|
||||
dev->hard_mtu = CDC_NCM_MIN_DATAGRAM_SIZE;
|
||||
else if (dev->hard_mtu > CDC_NCM_MAX_DATAGRAM_SIZE)
|
||||
dev->hard_mtu = CDC_NCM_MAX_DATAGRAM_SIZE;
|
||||
break;
|
||||
|
||||
case USB_CDC_NCM_TYPE:
|
||||
|
@ -485,6 +478,8 @@ advance:
|
|||
dev_info(&dev->udev->dev, "MAC-Address: %pM\n", dev->net->dev_addr);
|
||||
}
|
||||
|
||||
/* usbnet use these values for sizing tx/rx queues */
|
||||
dev->hard_mtu = ctx->tx_max;
|
||||
dev->rx_urb_size = ctx->rx_max;
|
||||
|
||||
return 0;
|
||||
|
|
Загрузка…
Ссылка в новой задаче