FAILED: patch "[PATCH] iio: adc: aspeed: propagate reset deassert errors" failed to apply to 6.6-stable tree
Subsystems (3)
[email protected]
maintainerThe patch below does not apply to the 6.6-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.6.y
git checkout FETCH_HEAD
git cherry-pick -x 95e4eb426b4bd666fa2f37886c0ddf74a0cc6167
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2026100600-partake-series-35e3@gregkh' --subject-prefix 'PATCH 6.6.y' 'HEAD^..'
Possible dependencies:
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 95e4eb426b4bd666fa2f37886c0ddf74a0cc6167 Mon Sep 17 00:00:00 2001
From: Pengpeng Hou <[email protected]>
Date: Sun, 30 Aug 2026 21:42:27 +0800
Subject: [PATCH] iio: adc: aspeed: propagate reset deassert errors
aspeed_adc_probe() continues to register ADC resources after deasserting the shared reset, even if the reset controller reports a failure.
A failed deassertion leaves the hardware unavailable, so stop probing before installing the cleanup action and enabling the ADC.
drivers/iio/adc/aspeed_adc.c +3 -1
@@ -585,7 +585,9 @@ static int aspeed_adc_probe(struct platform_device *pdev)return dev_err_probe (dev,PTR_ERR (data->rst),"invalid or missing reset controller device tree entry" ); -reset_control_deassert (data->rst); + ret =reset_control_deassert (data->rst); +if (ret) +return ret; ret =devm_add_action_or_reset (dev, aspeed_adc_reset_assert, data->rst);if (ret)
Sasha Levin
maintainerPATCH 1/2 iio: adc: aspeed: Simplify with dev_err_probe
From: Krzysztof Kozlowski <[email protected]>
[ Upstream commit dcc3ac29f46fff6775c0a945afc68fd9dece6d34 ]
Use dev_err_probe() to make error code handling simpler and handle deferred probe nicely (avoid spamming logs).
Stable-dep-of: 95e4eb426b4b ("iio: adc: aspeed: propagate reset deassert errors")
--- drivers/iio/adc/aspeed_adc.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-)
drivers/iio/adc/aspeed_adc.c +4 -5
@@ -549,11 +549,10 @@ static int aspeed_adc_probe(struct platform_device *pdev)return PTR_ERR (data->clk_scaler); data->rst =devm_reset_control_get_shared (&pdev->dev,NULL ); -if (IS_ERR (data->rst)) { -dev_err (&pdev->dev, -"invalid or missing reset controller device tree entry" ); -return PTR_ERR (data->rst); - } +if (IS_ERR (data->rst)) +return dev_err_probe (&pdev->dev,PTR_ERR (data->rst), +"invalid or missing reset controller device tree entry" ); +reset_control_deassert (data->rst); ret = devm_add_action_or_reset(data->dev, aspeed_adc_reset_assert,
Signature · 1 line
2.53.0
Sasha Levin
maintainerPATCH 2/2 iio: adc: aspeed: propagate reset deassert errors
From: Pengpeng Hou <[email protected]>
[ Upstream commit 95e4eb426b4bd666fa2f37886c0ddf74a0cc6167 ]
aspeed_adc_probe() continues to register ADC resources after deasserting the shared reset, even if the reset controller reports a failure.
A failed deassertion leaves the hardware unavailable, so stop probing before installing the cleanup action and enabling the ADC.
--- drivers/iio/adc/aspeed_adc.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
drivers/iio/adc/aspeed_adc.c +3 -1
@@ -553,7 +553,9 @@ static int aspeed_adc_probe(struct platform_device *pdev)return dev_err_probe (&pdev->dev,PTR_ERR (data->rst),"invalid or missing reset controller device tree entry" ); -reset_control_deassert (data->rst); + ret =reset_control_deassert (data->rst); +if (ret) +return ret; ret =devm_add_action_or_reset (data->dev, aspeed_adc_reset_assert, data->rst);
Signature · 1 line
2.53.0