From: Tony Lindgren Date: Mon, 16 Nov 2020 10:57:13 +0000 (+0200) Subject: soc: ti: omap-prm: Do not check rstst bit on deassert if already deasserted X-Git-Tag: v5.10.7~842 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=53cb44edb2677efd624bfae31d6be84b9b1326da;p=platform%2Fkernel%2Flinux-rpi.git soc: ti: omap-prm: Do not check rstst bit on deassert if already deasserted [ Upstream commit c1995e5afaf6abf3922b5395ad1f4096951e3276 ] If a rstctrl reset bit is already deasserted, we can just bail out early not wait for rstst to clear. Otherwise we can have deassert fail for already deasserted resets. Fixes: c5117a78dd88 ("soc: ti: omap-prm: poll for reset complete during de-assert") Signed-off-by: Tony Lindgren Signed-off-by: Sasha Levin --- diff --git a/drivers/soc/ti/omap_prm.c b/drivers/soc/ti/omap_prm.c index 980b04c..4d41dc3 100644 --- a/drivers/soc/ti/omap_prm.c +++ b/drivers/soc/ti/omap_prm.c @@ -484,6 +484,10 @@ static int omap_reset_deassert(struct reset_controller_dev *rcdev, struct ti_prm_platform_data *pdata = dev_get_platdata(reset->dev); int ret = 0; + /* Nothing to do if the reset is already deasserted */ + if (!omap_reset_status(rcdev, id)) + return 0; + has_rstst = reset->prm->data->rstst || (reset->prm->data->flags & OMAP_PRM_HAS_RSTST);