]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
Drop net-dsa-hellcreek-be-compatible-with-masters-which-u.patch
authorSasha Levin <sashal@kernel.org>
Mon, 27 Sep 2021 05:00:29 +0000 (01:00 -0400)
committerSasha Levin <sashal@kernel.org>
Mon, 27 Sep 2021 05:00:29 +0000 (01:00 -0400)
Signed-off-by: Sasha Levin <sashal@kernel.org>
queue-5.14/net-dsa-hellcreek-be-compatible-with-masters-which-u.patch [deleted file]
queue-5.14/series

diff --git a/queue-5.14/net-dsa-hellcreek-be-compatible-with-masters-which-u.patch b/queue-5.14/net-dsa-hellcreek-be-compatible-with-masters-which-u.patch
deleted file mode 100644 (file)
index dfdbbf3..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-From 5a8fa1511bcf9d6bcf04245ccdb61b4d788c0212 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Fri, 17 Sep 2021 16:34:34 +0300
-Subject: net: dsa: hellcreek: be compatible with masters which unregister on
- shutdown
-
-From: Vladimir Oltean <vladimir.oltean@nxp.com>
-
-[ Upstream commit 46baae56e1001a771a5d132aa883cb5605013ae2 ]
-
-Since commit 2f1e8ea726e9 ("net: dsa: link interfaces with the DSA
-master to get rid of lockdep warnings"), DSA gained a requirement which
-it did not fulfill, which is to unlink itself from the DSA master at
-shutdown time.
-
-Since the hellcreek driver was introduced after the bad commit, it has
-never worked with DSA masters which decide to unregister their
-net_device on shutdown, effectively hanging the reboot process.
-
-Hellcreek is a platform device driver, so we probably cannot have the
-oddities of ->shutdown and ->remove getting both called for the exact
-same struct device. But to be in line with the pattern from the other
-device drivers which are on slow buses, implement the same "if this then
-not that" pattern of either running the ->shutdown or the ->remove hook.
-The driver's current ->remove implementation makes that very easy
-because it already zeroes out its device_drvdata on ->remove.
-
-Fixes: e4b27ebc780f ("net: dsa: Add DSA driver for Hirschmann Hellcreek switches")
-Link: https://lore.kernel.org/netdev/20210909095324.12978-1-LinoSanfilippo@gmx.de/
-Reported-by: Lino Sanfilippo <LinoSanfilippo@gmx.de>
-Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
-Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
-Acked-by: Kurt Kanzenbach <kurt@linutronix.de>
-Signed-off-by: David S. Miller <davem@davemloft.net>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/net/dsa/hirschmann/hellcreek.c | 16 ++++++++++++++++
- 1 file changed, 16 insertions(+)
-
-diff --git a/drivers/net/dsa/hirschmann/hellcreek.c b/drivers/net/dsa/hirschmann/hellcreek.c
-index 7062db6a083c..a0f5ec4f4e58 100644
---- a/drivers/net/dsa/hirschmann/hellcreek.c
-+++ b/drivers/net/dsa/hirschmann/hellcreek.c
-@@ -1915,6 +1915,9 @@ static int hellcreek_remove(struct platform_device *pdev)
- {
-       struct hellcreek *hellcreek = platform_get_drvdata(pdev);
-+      if (!hellcreek)
-+              return 0;
-+
-       hellcreek_hwtstamp_free(hellcreek);
-       hellcreek_ptp_free(hellcreek);
-       dsa_unregister_switch(hellcreek->ds);
-@@ -1923,6 +1926,18 @@ static int hellcreek_remove(struct platform_device *pdev)
-       return 0;
- }
-+static void hellcreek_shutdown(struct platform_device *pdev)
-+{
-+      struct hellcreek *hellcreek = platform_get_drvdata(pdev);
-+
-+      if (!hellcreek)
-+              return;
-+
-+      dsa_switch_shutdown(hellcreek->ds);
-+
-+      platform_set_drvdata(pdev, NULL);
-+}
-+
- static const struct hellcreek_platform_data de1soc_r1_pdata = {
-       .name            = "r4c30",
-       .num_ports       = 4,
-@@ -1945,6 +1960,7 @@ MODULE_DEVICE_TABLE(of, hellcreek_of_match);
- static struct platform_driver hellcreek_driver = {
-       .probe  = hellcreek_probe,
-       .remove = hellcreek_remove,
-+      .shutdown = hellcreek_shutdown,
-       .driver = {
-               .name = "hellcreek",
-               .of_match_table = hellcreek_of_match,
--- 
-2.33.0
-
index 339eb244b462ad833b149440f79c77b0a0c1a9a6..105893ffe42935d983b831e1fe164ba8f31f11e8 100644 (file)
@@ -52,7 +52,6 @@ afs-fix-updating-of-i_blocks-on-file-dir-extension.patch
 platform-x86-intel-punit_ipc-drop-wrong-use-of-acpi_.patch
 regulator-max14577-revert-regulator-max14577-add-pro.patch
 nlm-fix-svcxdr_encode_owner.patch
-net-dsa-hellcreek-be-compatible-with-masters-which-u.patch
 net-dsa-microchip-ksz8863-be-compatible-with-masters.patch
 net-dsa-xrs700x-be-compatible-with-masters-which-unr.patch
 virtio-net-fix-pages-leaking-when-building-skb-in-bi.patch