summaryrefslogtreecommitdiffstats
path: root/package/kernel/qca-nss-dp/patches/0011-05-nss_dp_main-use-phy_detach-instead-of-disconnect-in-.patch
diff options
context:
space:
mode:
authorChristian Marangi <ansuelsmth@gmail.com>2024-04-16 16:44:41 +0200
committerChristian Marangi <ansuelsmth@gmail.com>2024-04-18 11:54:21 +0200
commit918e2fca1e818a346a5f04e11b4e9cb0d5ad6510 (patch)
tree829d5dfe440e8bccb1caf8c2b945f4f73e102536 /package/kernel/qca-nss-dp/patches/0011-05-nss_dp_main-use-phy_detach-instead-of-disconnect-in-.patch
parent3908b77c9e68136e20805c0d6e39bb1a33438d09 (diff)
downloadopenwrt-918e2fca1e818a346a5f04e11b4e9cb0d5ad6510.tar.gz
openwrt-918e2fca1e818a346a5f04e11b4e9cb0d5ad6510.tar.bz2
openwrt-918e2fca1e818a346a5f04e11b4e9cb0d5ad6510.zip
qca-nss-dp: add patch fixing rmmod and insmod
Add patch fixing rmmod and insmod. Lots of flawed logic fixed that permits the module to correctly rmmod and insmod later. Just to quote some change, use phy_detach instead of phy_disconnect, fix exclusive reset_control that could only be used once, fix kernel panic on second edma_cleanup, stop traffic before module exit... Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Diffstat (limited to 'package/kernel/qca-nss-dp/patches/0011-05-nss_dp_main-use-phy_detach-instead-of-disconnect-in-.patch')
-rw-r--r--package/kernel/qca-nss-dp/patches/0011-05-nss_dp_main-use-phy_detach-instead-of-disconnect-in-.patch26
1 files changed, 26 insertions, 0 deletions
diff --git a/package/kernel/qca-nss-dp/patches/0011-05-nss_dp_main-use-phy_detach-instead-of-disconnect-in-.patch b/package/kernel/qca-nss-dp/patches/0011-05-nss_dp_main-use-phy_detach-instead-of-disconnect-in-.patch
new file mode 100644
index 0000000000..6e87e4e8c4
--- /dev/null
+++ b/package/kernel/qca-nss-dp/patches/0011-05-nss_dp_main-use-phy_detach-instead-of-disconnect-in-.patch
@@ -0,0 +1,26 @@
+From 655b07b701271bc00952fe64aeb14f993a48a50e Mon Sep 17 00:00:00 2001
+From: Christian Marangi <ansuelsmth@gmail.com>
+Date: Tue, 16 Apr 2024 16:17:36 +0200
+Subject: [PATCH 5/6] nss_dp_main: use phy_detach instead of disconnect in
+ dp_remove
+
+Use phy_detach instead of disconnect in dp_remove. On Module remove, phy
+are already disconnected but they need to be detached to be correctly
+reattached later with an insmod.
+
+Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
+---
+ nss_dp_main.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/nss_dp_main.c
++++ b/nss_dp_main.c
+@@ -924,7 +924,7 @@ static int nss_dp_remove(struct platform
+ unregister_netdev(dp_priv->netdev);
+
+ if (dp_priv->phydev)
+- phy_disconnect(dp_priv->phydev);
++ phy_detach(dp_priv->phydev);
+
+ #if defined(NSS_DP_PPE_SUPPORT)
+ /*