[PATCH v2] pwm: tegra: check reset deassertion status

From: Pengpeng Hou

Date: Tue Oct 13 2026 - 23:21:04 EST


Check reset_control_deassert() before registering the PWM chip and
use the existing runtime-PM cleanup path if it reports an error.

This is an API-consistency change, not a claim of an observed failure on
supported Tegra systems. Keep the existing reset assertion before PM
teardown in remove and the pwmchip_add() failure path.

The issue was found by our static-analysis tool and manually reviewed.

Acked-by: Thierry Reding <treding@xxxxxxxxxx>
Assisted-by: gpt 5
Signed-off-by: Pengpeng Hou <hppiscas@xxxxxxx>
---
Changes since v1:
- drop Fixes and stable-backport implications, as Thierry requested
- retain the small status check and Thierry's Acked-by
- keep explicit reset ownership: moving assert to devres would put it
after the driver's PM teardown, rather than preserve the existing order

Previous version:
https://lore.kernel.org/all/20260830125843.99132-1-pengpeng@xxxxxxxxxxx/

drivers/pwm/pwm-tegra.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/pwm/pwm-tegra.c b/drivers/pwm/pwm-tegra.c
index 5cdbe120ba2d8dafd81ea5520f1a637827d8eecf..d9fa16a7b31f43bd9d75474f851899956159d836 100644
--- a/drivers/pwm/pwm-tegra.c
+++ b/drivers/pwm/pwm-tegra.c
@@ -379,7 +379,9 @@ static int tegra_pwm_probe(struct platform_device *pdev)
goto put_pm;
}

- reset_control_deassert(pc->rst);
+ ret = reset_control_deassert(pc->rst);
+ if (ret)
+ goto put_pm;

chip->ops = &tegra_pwm_ops;


base-commit: 4056b3c9d3c92ea45955641dbafeb9b960e146ef