Message ID | 20220818065753.104050-1-xuqiang36@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [-next] media: meson: vdec: add missing clk_disable_unprepare on error in vdec_hevc_start() | expand |
On 18/08/2022 08:57, Xu Qiang wrote: > Add the missing clk_disable_unprepare() before return > from vdec_hevc_start() in the error handling case. > > Fixes: 823a7300340e (“media: meson: vdec: add common HEVC decoder support”) > Signed-off-by: Xu Qiang <xuqiang36@huawei.com> > --- > drivers/staging/media/meson/vdec/vdec_hevc.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/drivers/staging/media/meson/vdec/vdec_hevc.c b/drivers/staging/media/meson/vdec/vdec_hevc.c > index 9530e580e57a..afced435c907 100644 > --- a/drivers/staging/media/meson/vdec/vdec_hevc.c > +++ b/drivers/staging/media/meson/vdec/vdec_hevc.c > @@ -167,8 +167,12 @@ static int vdec_hevc_start(struct amvdec_session *sess) > > clk_set_rate(core->vdec_hevc_clk, 666666666); > ret = clk_prepare_enable(core->vdec_hevc_clk); > - if (ret) > + if (ret) { > + if (core->platform->revision == VDEC_REVISION_G12A || > + core->platform->revision == VDEC_REVISION_SM1) > + clk_disable_unprepare(core->vdec_hevcf_clk); > return ret; > + } > > if (core->platform->revision == VDEC_REVISION_SM1) > regmap_update_bits(core->regmap_ao, AO_RTI_GEN_PWR_SLEEP0, Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
diff --git a/drivers/staging/media/meson/vdec/vdec_hevc.c b/drivers/staging/media/meson/vdec/vdec_hevc.c index 9530e580e57a..afced435c907 100644 --- a/drivers/staging/media/meson/vdec/vdec_hevc.c +++ b/drivers/staging/media/meson/vdec/vdec_hevc.c @@ -167,8 +167,12 @@ static int vdec_hevc_start(struct amvdec_session *sess) clk_set_rate(core->vdec_hevc_clk, 666666666); ret = clk_prepare_enable(core->vdec_hevc_clk); - if (ret) + if (ret) { + if (core->platform->revision == VDEC_REVISION_G12A || + core->platform->revision == VDEC_REVISION_SM1) + clk_disable_unprepare(core->vdec_hevcf_clk); return ret; + } if (core->platform->revision == VDEC_REVISION_SM1) regmap_update_bits(core->regmap_ao, AO_RTI_GEN_PWR_SLEEP0,
Add the missing clk_disable_unprepare() before return from vdec_hevc_start() in the error handling case. Fixes: 823a7300340e (“media: meson: vdec: add common HEVC decoder support”) Signed-off-by: Xu Qiang <xuqiang36@huawei.com> --- drivers/staging/media/meson/vdec/vdec_hevc.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)