X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=target%2Flinux%2Fbrcm2708%2Fpatches-4.19%2F950-0755-net-bcmgenet-Workaround-2-for-Pi4-Ethernet-fail.patch;fp=target%2Flinux%2Fbrcm2708%2Fpatches-4.19%2F950-0755-net-bcmgenet-Workaround-2-for-Pi4-Ethernet-fail.patch;h=0000000000000000000000000000000000000000;hb=67dcc43f3a22dc3a7ac07a7065971b426feeb043;hp=fbce45ed20d73ef38696c677d5a149a23f5869e6;hpb=47a93a810f78adce5a130d287f82b28e9b54313c;p=openwrt%2Fopenwrt.git diff --git a/target/linux/brcm2708/patches-4.19/950-0755-net-bcmgenet-Workaround-2-for-Pi4-Ethernet-fail.patch b/target/linux/brcm2708/patches-4.19/950-0755-net-bcmgenet-Workaround-2-for-Pi4-Ethernet-fail.patch deleted file mode 100644 index fbce45ed20..0000000000 --- a/target/linux/brcm2708/patches-4.19/950-0755-net-bcmgenet-Workaround-2-for-Pi4-Ethernet-fail.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 103afc4641ab8d6587e981a5e3fda27427a8bf4b Mon Sep 17 00:00:00 2001 -From: Phil Elwell -Date: Fri, 9 Aug 2019 08:51:43 +0100 -Subject: [PATCH 755/806] net: bcmgenet: Workaround #2 for Pi4 Ethernet fail - -Some combinations of Pi 4Bs and Ethernet switches don't reliably get a -DCHP-assigned IP address, leaving the unit with a self=assigned 169.254 -address. In the failure case, the Pi is left able to receive packets -but not send them, suggesting that the MAC<->PHY link is getting into -a bad state. - -It has been found empirically that skipping a reset step by the genet -driver prevents the failures. No downsides have been discovered yet, -and unlike the forced renegotiation it doesn't increase the time to -get an IP address, so the workaround is enabled by default; add - - genet.skip_umac_reset=n - -to the command line to disable it. - -See: https://github.com/raspberrypi/linux/issues/3108 - -Signed-off-by: Phil Elwell ---- - drivers/net/ethernet/broadcom/genet/bcmgenet.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - ---- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c -+++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c -@@ -72,6 +72,10 @@ - #define GENET_RDMA_REG_OFF (priv->hw_params->rdma_offset + \ - TOTAL_DESC * DMA_DESC_SIZE) - -+static bool skip_umac_reset = true; -+module_param(skip_umac_reset, bool, 0444); -+MODULE_PARM_DESC(skip_umac_reset, "Skip UMAC reset step"); -+ - static inline void bcmgenet_writel(u32 value, void __iomem *offset) - { - /* MIPS chips strapped for BE will automagically configure the -@@ -1993,6 +1997,11 @@ static void reset_umac(struct bcmgenet_p - bcmgenet_rbuf_ctrl_set(priv, 0); - udelay(10); - -+ if (skip_umac_reset) { -+ pr_warn("Skipping UMAC reset\n"); -+ return; -+ } -+ - /* disable MAC while updating its registers */ - bcmgenet_umac_writel(priv, 0, UMAC_CMD); -