diff options
| author | Wentao Liang <vulab@iscas.ac.cn> | 2026-09-17 15:27:19 +0000 |
|---|---|---|
| committer | Christophe Leroy (CS GROUP) <chleroy@kernel.org> | 2026-09-18 10:39:12 +0200 |
| commit | 7b3b0598c00e67f2df85d0b4cd99eaa3be6c9bfd (patch) | |
| tree | 8bc1fbf23a7e1ad9c58315d5d893196a9cee102c | |
| parent | 31d42d67c6eb66efc058069f426d69abb48ec0dd (diff) | |
| download | linux-next-7b3b0598c00e67f2df85d0b4cd99eaa3be6c9bfd.tar.gz linux-next-7b3b0598c00e67f2df85d0b4cd99eaa3be6c9bfd.zip | |
soc: fsl: cpm1: tsa: Fix clock leak in tsa_of_parse_tdms()
The error cleanup loop puts l1rsync_clk and l1rclk_clk a second time
and never puts l1tsync_clk or l1tclk_clk, because the branches that
guard the transmit clocks use the receive clock field names.
Use the matching field in each branch so every clock acquired by
tsa_of_parse_tdms() is released exactly once.
Fixes: 1d4ba0b81c1c ("soc: fsl: cpm1: Add support for TSA")
Cc: stable@vger.kernel.org
Signed-off-by: Wentao Liang <vulab@iscas.ac.cn>
Reviewed-by: Herve Codina <herve.codina@bootlin.com>
Link: https://lore.kernel.org/r/20260917152719.2160395-1-vulab@iscas.ac.cn
Signed-off-by: Christophe Leroy (CS GROUP) <chleroy@kernel.org>
| -rw-r--r-- | drivers/soc/fsl/qe/tsa.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/soc/fsl/qe/tsa.c b/drivers/soc/fsl/qe/tsa.c index 4a88e54d25b9..94691369353e 100644 --- a/drivers/soc/fsl/qe/tsa.c +++ b/drivers/soc/fsl/qe/tsa.c @@ -865,12 +865,12 @@ err: clk_put(tsa->tdm[i].l1rclk_clk); } if (tsa->tdm[i].l1tsync_clk) { - clk_disable_unprepare(tsa->tdm[i].l1rsync_clk); - clk_put(tsa->tdm[i].l1rsync_clk); + clk_disable_unprepare(tsa->tdm[i].l1tsync_clk); + clk_put(tsa->tdm[i].l1tsync_clk); } if (tsa->tdm[i].l1tclk_clk) { - clk_disable_unprepare(tsa->tdm[i].l1rclk_clk); - clk_put(tsa->tdm[i].l1rclk_clk); + clk_disable_unprepare(tsa->tdm[i].l1tclk_clk); + clk_put(tsa->tdm[i].l1tclk_clk); } } return ret; |
