Commit 9075bd20 authored by David S. Miller's avatar David S. Miller

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: default avatarDavid S. Miller <davem@davemloft.net>
parents 12c5d0c0 0573f94b
...@@ -2367,9 +2367,6 @@ static int lan78xx_reset(struct lan78xx_net *dev) ...@@ -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) ...@@ -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, ...@@ -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, ...@@ -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);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment