diff --git a/drivers/reset/core.c b/drivers/reset/core.c
index 10368ed8fd136230d1d9a13492bf557bd063a669..b6f5f1e1826c15c0e7f6db0a9af599dba39d5878 100644
--- a/drivers/reset/core.c
+++ b/drivers/reset/core.c
@@ -163,7 +163,7 @@ int reset_control_reset(struct reset_control *rstc)
 	}
 
 	ret = rstc->rcdev->ops->reset(rstc->rcdev, rstc->id);
-	if (rstc->shared && !ret)
+	if (rstc->shared && ret)
 		atomic_dec(&rstc->triggered_count);
 
 	return ret;