net: lan78xx: fix rx handling before first packet is send
authorStefan Wahren <stefan.wahren@i2se.com>
Sat, 28 Jul 2018 07:52:10 +0000 (09:52 +0200)
committerDavid S. Miller <davem@davemloft.net>
Sat, 28 Jul 2018 21:29:49 +0000 (14:29 -0700)
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 after link reset.

Link: https://github.com/raspberrypi/linux/issues/2617
Fixes: 55d7de9de6c3 ("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>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/usb/lan78xx.c

index ed10d49eb5e0b66068fe366950cee3de2de3257d..aeca484a75b89742458e4b76dca220c54f8c208d 100644 (file)
@@ -1242,6 +1242,8 @@ static int lan78xx_link_reset(struct lan78xx_net *dev)
                        mod_timer(&dev->stat_monitor,
                                  jiffies + STAT_UPDATE_TIMER);
                }
+
+               tasklet_schedule(&dev->bh);
        }
 
        return ret;