net: lan78xx: fix rx handling before first packet is send

As long the bh tasklet isn't scheduled once, no packet from the rx path
will be handled. Since the tx path also schedule the same tasklet
this situation only persits until the first packet transmission.
So fix this issue by scheduling the tasklet during ndo_open like in usbnet.

Link: https://github.com/raspberrypi/linux/issues/2617
Fixes: 55d7de9de6 ("Microchip's LAN7800 family USB 2/3 to 10/100/1000 Ethernet")
Suggested-by: Floris Bos <bos@je-eigen-domein.nl>
Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
This commit is contained in:
Stefan Wahren
2018-07-16 21:33:40 +02:00
committed by Phil Elwell
parent db81c14ce9
commit d407fc229c

View File

@@ -2606,6 +2606,8 @@ static int lan78xx_open(struct net_device *net)
dev->link_on = false;
tasklet_schedule(&dev->bh);
lan78xx_defer_kevent(dev, EVENT_LINK_RESET);
done:
usb_autopm_put_interface(dev->intf);