Message ID | 20200525072209.6935-1-dinghao.liu@zju.edu.cn |
---|---|
State | Superseded |
Headers | show |
Series | ASoC: ti: Fix runtime PM imbalance in omap2_mcbsp_set_clks_src | expand |
On 25/05/2020 10.22, Dinghao Liu wrote: > When clk_set_parent() returns an error code, a pairing > runtime PM usage counter increment is needed to keep the > counter balanced. > > Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn> > --- > sound/soc/ti/omap-mcbsp.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/sound/soc/ti/omap-mcbsp.c b/sound/soc/ti/omap-mcbsp.c > index 3d41ca2238d4..84b4de9b670c 100644 > --- a/sound/soc/ti/omap-mcbsp.c > +++ b/sound/soc/ti/omap-mcbsp.c > @@ -80,6 +80,7 @@ static int omap2_mcbsp_set_clks_src(struct omap_mcbsp *mcbsp, u8 fck_src_id) > if (r) { > dev_err(mcbsp->dev, "CLKS: could not clk_set_parent() to %s\n", > src); > + pm_runtime_get_sync(mcbsp->dev); > clk_put(fck_src); > return r; > } I think it would be cleaner in this way: pm_runtime_put_sync(mcbsp->dev); r = clk_set_parent(mcbsp->fclk, fck_src); if (r) dev_err(mcbsp->dev, "CLKS: could not clk_set_parent() to %s\n", src); pm_runtime_get_sync(mcbsp->dev); clk_put(fck_src); return r; - Péter Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
diff --git a/sound/soc/ti/omap-mcbsp.c b/sound/soc/ti/omap-mcbsp.c index 3d41ca2238d4..84b4de9b670c 100644 --- a/sound/soc/ti/omap-mcbsp.c +++ b/sound/soc/ti/omap-mcbsp.c @@ -80,6 +80,7 @@ static int omap2_mcbsp_set_clks_src(struct omap_mcbsp *mcbsp, u8 fck_src_id) if (r) { dev_err(mcbsp->dev, "CLKS: could not clk_set_parent() to %s\n", src); + pm_runtime_get_sync(mcbsp->dev); clk_put(fck_src); return r; }
When clk_set_parent() returns an error code, a pairing runtime PM usage counter increment is needed to keep the counter balanced. Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn> --- sound/soc/ti/omap-mcbsp.c | 1 + 1 file changed, 1 insertion(+)