Commit cda6a5de authored by Lad Prabhakar's avatar Lad Prabhakar Committed by Geert Uytterhoeven
Browse files

clk: renesas: cpg-mssr: Unlock before reset verification



Move spin_unlock_irqrestore() before verifying the reset result and
printing errors. The verification condition only uses local variables
and does not require locking.

Reported-by: default avatarPavel Machek <pavel@nabladev.com>
Closes: https://lore.kernel.org/all/aVujAQJSDn6WyORK@duo.ucw.cz/


Signed-off-by: default avatarLad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
Link: https://patch.msgid.link/20260105140625.2590685-1-prabhakar.mahadev-lad.rj@bp.renesas.com


Signed-off-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
parent c2922664
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -794,14 +794,14 @@ static int cpg_mrcr_set_reset_state(struct reset_controller_dev *rcdev,

	/* Verify the operation */
	val = readl(reg_addr);

	spin_unlock_irqrestore(&priv->pub.rmw_lock, flags);

	if (set == !(bitmask & val)) {
		dev_err(priv->dev, "Reset register %u%02u operation failed\n", reg, bit);
		spin_unlock_irqrestore(&priv->pub.rmw_lock, flags);
		return -EIO;
	}

	spin_unlock_irqrestore(&priv->pub.rmw_lock, flags);

	return 0;
}