openwrt/target/linux/brcm2708/patches-4.14/950-0359-net-lan78xx-fix-rx-handling-before-first-packet-is-s.patch
Koen Vandeputte eca8a2ee0d kernel: bump 4.14 to 4.14.169
Refreshed all patches.

Fixes:
- CVE-2019-14896
- CVE-2019-14897

Remove upstreamed:
- 023-0007-crypto-crypto4xx-Fix-wrong-ppc4xx_trng_probe-ppc4xx_.patch
- 001-4.22-01-MIPS-BCM63XX-drop-unused-and-broken-DSP-platform-dev.patch

Compile-tested on: cns3xxx
Runtime-tested on: cns3xxx

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2020-02-04 18:11:26 +01:00

31 lines
1.1 KiB
Diff

From 213fa517424f4d1c83e7cf486c0f113bd874c32c Mon Sep 17 00:00:00 2001
From: Stefan Wahren <stefan.wahren@i2se.com>
Date: Mon, 16 Jul 2018 21:33:40 +0200
Subject: [PATCH 359/454] 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: 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>
---
drivers/net/usb/lan78xx.c | 2 ++
1 file changed, 2 insertions(+)
--- a/drivers/net/usb/lan78xx.c
+++ b/drivers/net/usb/lan78xx.c
@@ -2591,6 +2591,8 @@ static int lan78xx_open(struct net_devic
dev->link_on = false;
+ tasklet_schedule(&dev->bh);
+
lan78xx_defer_kevent(dev, EVENT_LINK_RESET);
done:
usb_autopm_put_interface(dev->intf);