From: Greg Kroah-Hartman Date: Tue, 5 Dec 2023 02:50:43 +0000 (+0900) Subject: 5.10-stable patches X-Git-Tag: v4.14.332~14 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=575e3c22c22fd2f551140411668356fe0cb785d5;p=thirdparty%2Fkernel%2Fstable-queue.git 5.10-stable patches added patches: driver-core-release-all-resources-during-unbind-before-updating-device-links.patch --- diff --git a/queue-5.10/driver-core-release-all-resources-during-unbind-before-updating-device-links.patch b/queue-5.10/driver-core-release-all-resources-during-unbind-before-updating-device-links.patch new file mode 100644 index 00000000000..d721d6b5965 --- /dev/null +++ b/queue-5.10/driver-core-release-all-resources-during-unbind-before-updating-device-links.patch @@ -0,0 +1,58 @@ +From 947c9e12ddd6866603fd60000c0cca8981687dd3 Mon Sep 17 00:00:00 2001 +From: Saravana Kannan +Date: Tue, 17 Oct 2023 18:38:50 -0700 +Subject: driver core: Release all resources during unbind before updating device links +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Saravana Kannan + +commit 2e84dc37920012b458e9458b19fc4ed33f81bc74 upstream. + +This commit fixes a bug in commit 9ed9895370ae ("driver core: Functional +dependencies tracking support") where the device link status was +incorrectly updated in the driver unbind path before all the device's +resources were released. + +Fixes: 9ed9895370ae ("driver core: Functional dependencies tracking support") +Cc: stable +Reported-by: Uwe Kleine-König +Closes: https://lore.kernel.org/all/20231014161721.f4iqyroddkcyoefo@pengutronix.de/ +Signed-off-by: Saravana Kannan +Cc: Thierry Reding +Cc: Yang Yingliang +Cc: Andy Shevchenko +Cc: Mark Brown +Cc: Matti Vaittinen +Cc: James Clark +Acked-by: "Rafael J. Wysocki" +Tested-by: Uwe Kleine-König +Acked-by: Uwe Kleine-König +Link: https://lore.kernel.org/r/20231018013851.3303928-1-saravanak@google.com +Signed-off-by: Uwe Kleine-König +Signed-off-by: Greg Kroah-Hartman +--- + drivers/base/dd.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/drivers/base/dd.c ++++ b/drivers/base/dd.c +@@ -1187,8 +1187,6 @@ static void __device_release_driver(stru + else if (drv->remove) + drv->remove(dev); + +- device_links_driver_cleanup(dev); +- + devres_release_all(dev); + arch_teardown_dma_ops(dev); + kfree(dev->dma_range_map); +@@ -1200,6 +1198,8 @@ static void __device_release_driver(stru + pm_runtime_reinit(dev); + dev_pm_set_driver_flags(dev, 0); + ++ device_links_driver_cleanup(dev); ++ + klist_remove(&dev->p->knode_driver); + device_pm_check_callbacks(dev); + if (dev->bus) diff --git a/queue-5.10/series b/queue-5.10/series index 7052f4ef836..4cfe34d399f 100644 --- a/queue-5.10/series +++ b/queue-5.10/series @@ -132,3 +132,4 @@ mmc-core-add-helpers-mmc_regulator_enable-disable_vq.patch mmc-sdhci-sprd-fix-vqmmc-not-shutting-down-after-the.patch r8169-disable-aspm-in-case-of-tx-timeout.patch r8169-fix-deadlock-on-rtl8125-in-jumbo-mtu-mode.patch +driver-core-release-all-resources-during-unbind-before-updating-device-links.patch