lan78xx: Fix to handle hard_header_len update
Fix to handle hard_header_len update When ifconfig up/down sequence is initiated hard_header_len get updated incrementally for each ifconfig up /down sequence, this leads invalid hard_header_len, moving to lan78xx_bind to have one time update of hard_header_len addresses the issue. Signed-off-by: Nisar Sayed <Nisar.Sayed@microchip.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
fb52c3b597
commit
0573f94b1a
|
@ -2367,9 +2367,6 @@ static int lan78xx_reset(struct lan78xx_net *dev)
|
||||||
/* Init LTM */
|
/* Init LTM */
|
||||||
lan78xx_init_ltm(dev);
|
lan78xx_init_ltm(dev);
|
||||||
|
|
||||||
dev->net->hard_header_len += TX_OVERHEAD;
|
|
||||||
dev->hard_mtu = dev->net->mtu + dev->net->hard_header_len;
|
|
||||||
|
|
||||||
if (dev->udev->speed == USB_SPEED_SUPER) {
|
if (dev->udev->speed == USB_SPEED_SUPER) {
|
||||||
buf = DEFAULT_BURST_CAP_SIZE / SS_USB_PKT_SIZE;
|
buf = DEFAULT_BURST_CAP_SIZE / SS_USB_PKT_SIZE;
|
||||||
dev->rx_urb_size = DEFAULT_BURST_CAP_SIZE;
|
dev->rx_urb_size = DEFAULT_BURST_CAP_SIZE;
|
||||||
|
@ -2855,6 +2852,9 @@ static int lan78xx_bind(struct lan78xx_net *dev, struct usb_interface *intf)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
dev->net->hard_header_len += TX_OVERHEAD;
|
||||||
|
dev->hard_mtu = dev->net->mtu + dev->net->hard_header_len;
|
||||||
|
|
||||||
/* Init all registers */
|
/* Init all registers */
|
||||||
ret = lan78xx_reset(dev);
|
ret = lan78xx_reset(dev);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue