mirror of https://gitee.com/openkylin/linux.git
Merge branch 'lan78xx-Fixes'
Nisar Sayed says: ==================== lan78xx: Fixes to lan78xx driver This series of patches are for lan78xx driver. These patches fixes potential issues associated with lan78xx driver ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
9075bd206c
|
@ -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,16 +2852,19 @@ 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);
|
||||||
|
|
||||||
lan78xx_mdio_init(dev);
|
ret = lan78xx_mdio_init(dev);
|
||||||
|
|
||||||
dev->net->flags |= IFF_MULTICAST;
|
dev->net->flags |= IFF_MULTICAST;
|
||||||
|
|
||||||
pdata->wol = WAKE_MAGIC;
|
pdata->wol = WAKE_MAGIC;
|
||||||
|
|
||||||
return 0;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void lan78xx_unbind(struct lan78xx_net *dev, struct usb_interface *intf)
|
static void lan78xx_unbind(struct lan78xx_net *dev, struct usb_interface *intf)
|
||||||
|
@ -3525,11 +3525,11 @@ static int lan78xx_probe(struct usb_interface *intf,
|
||||||
udev = interface_to_usbdev(intf);
|
udev = interface_to_usbdev(intf);
|
||||||
udev = usb_get_dev(udev);
|
udev = usb_get_dev(udev);
|
||||||
|
|
||||||
ret = -ENOMEM;
|
|
||||||
netdev = alloc_etherdev(sizeof(struct lan78xx_net));
|
netdev = alloc_etherdev(sizeof(struct lan78xx_net));
|
||||||
if (!netdev) {
|
if (!netdev) {
|
||||||
dev_err(&intf->dev, "Error: OOM\n");
|
dev_err(&intf->dev, "Error: OOM\n");
|
||||||
goto out1;
|
ret = -ENOMEM;
|
||||||
|
goto out1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* netdev_printk() needs this */
|
/* netdev_printk() needs this */
|
||||||
|
@ -3610,7 +3610,7 @@ static int lan78xx_probe(struct usb_interface *intf,
|
||||||
ret = register_netdev(netdev);
|
ret = register_netdev(netdev);
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
netif_err(dev, probe, netdev, "couldn't register the device\n");
|
netif_err(dev, probe, netdev, "couldn't register the device\n");
|
||||||
goto out2;
|
goto out3;
|
||||||
}
|
}
|
||||||
|
|
||||||
usb_set_intfdata(intf, dev);
|
usb_set_intfdata(intf, dev);
|
||||||
|
|
Loading…
Reference in New Issue