diff --git a/patches.suse/net-axienet-Fix-double-deregister-of-mdio.patch b/patches.suse/net-axienet-Fix-double-deregister-of-mdio.patch new file mode 100644 index 0000000..9bcfc13 --- /dev/null +++ b/patches.suse/net-axienet-Fix-double-deregister-of-mdio.patch @@ -0,0 +1,64 @@ +From 426be8a19f66453784e4f6e14e0b1d963ea21440 Mon Sep 17 00:00:00 2001 +From: Shubhrajyoti Datta +Date: Tue, 24 Jul 2018 10:09:53 +0530 +Subject: [PATCH 2/3] net: axienet: Fix double deregister of mdio +Git-commit: 03bc7cab7d7218088412a75e141696a89059ab00 +Patch-mainline: 4.18-rc7 +References: git-fixes + +If the registration fails then mdio_unregister is called. +However at unbind the unregister ia attempted again resulting +in the below crash + +[ 73.544038] kernel BUG at drivers/net/phy/mdio_bus.c:415! +[ 73.549362] Internal error: Oops - BUG: 0 [#1] SMP +[ 73.554127] Modules linked in: +[ 73.557168] CPU: 0 PID: 2249 Comm: sh Not tainted 4.14.0 #183 +[ 73.562895] Hardware name: xlnx,zynqmp (DT) +[ 73.567062] task: ffffffc879e41180 task.stack: ffffff800cbe0000 +[ 73.572973] PC is at mdiobus_unregister+0x84/0x88 +[ 73.577656] LR is at axienet_mdio_teardown+0x18/0x30 +[ 73.582601] pc : [] lr : [] +pstate: 20000145 +[ 73.589981] sp : ffffff800cbe3c30 +[ 73.593277] x29: ffffff800cbe3c30 x28: ffffffc879e41180 +[ 73.598573] x27: ffffff8008a21000 x26: 0000000000000040 +[ 73.603868] x25: 0000000000000124 x24: ffffffc879efe920 +[ 73.609164] x23: 0000000000000060 x22: ffffffc879e02000 +[ 73.614459] x21: ffffffc879e02800 x20: ffffffc87b0b8870 +[ 73.619754] x19: ffffffc879e02800 x18: 000000000000025d +[ 73.625050] x17: 0000007f9a719ad0 x16: ffffff8008195bd8 +[ 73.630345] x15: 0000007f9a6b3d00 x14: 0000000000000010 +[ 73.635640] x13: 74656e7265687465 x12: 0000000000000030 +[ 73.640935] x11: 0000000000000030 x10: 0101010101010101 +[ 73.646231] x9 : 241f394f42533300 x8 : ffffffc8799f6e98 +[ 73.651526] x7 : ffffffc8799f6f18 x6 : ffffffc87b0ba318 +[ 73.656822] x5 : ffffffc87b0ba498 x4 : 0000000000000000 +[ 73.662117] x3 : 0000000000000000 x2 : 0000000000000008 +[ 73.667412] x1 : 0000000000000004 x0 : ffffffc8799f4000 +[ 73.672708] Process sh (pid: 2249, stack limit = 0xffffff800cbe0000) + +Fix the same by making the bus NULL on unregister. + +Signed-off-by: Shubhrajyoti Datta +Signed-off-by: David S. Miller +Signed-off-by: Denis Kirjanov +--- + drivers/net/ethernet/xilinx/xilinx_axienet_mdio.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/drivers/net/ethernet/xilinx/xilinx_axienet_mdio.c b/drivers/net/ethernet/xilinx/xilinx_axienet_mdio.c +index 63307ea97846..9beea13e2e1f 100644 +--- a/drivers/net/ethernet/xilinx/xilinx_axienet_mdio.c ++++ b/drivers/net/ethernet/xilinx/xilinx_axienet_mdio.c +@@ -217,6 +217,7 @@ int axienet_mdio_setup(struct axienet_local *lp, struct device_node *np) + ret = of_mdiobus_register(bus, np1); + if (ret) { + mdiobus_free(bus); ++ lp->mii_bus = NULL; + return ret; + } + return 0; +-- +2.16.4 + diff --git a/series.conf b/series.conf index ea355fc..3633c62 100644 --- a/series.conf +++ b/series.conf @@ -35922,6 +35922,7 @@ patches.suse/bnx2x-Fix-invalid-memory-access-in-rss-hash-config-p.patch patches.suse/ip-in-cmsg-IP-V6-_ORIGDSTADDR-call-pskb_may_pull.patch patches.suse/qmi_wwan-fix-interface-number-for-DW5821e-production + patches.suse/net-axienet-Fix-double-deregister-of-mdio.patch patches.suse/0001-fscache-Allow-cancelled-operations-to-be-enqueued.patch patches.suse/0002-cachefiles-Fix-refcounting-bug-in-backing-file-read-.patch patches.suse/0003-fscache-Fix-reference-overput-in-fscache_attach_obje.patch