[PATCH] media: mediatek: vcodec: destroy core workqueue on remove

Nicolas Dufresne nicolas.dufresne at collabora.com
Tue Sep 29 14:11:06 PDT 2026


Le mardi 15 septembre 2026 à 19:57 +0800, Guangshuo Li a écrit :
> The decoder probe allocates core_workqueue for latency-based decoder
> architectures. The probe failure paths destroy the workqueue, but the
> normal remove path only destroys decode_workqueue.
> 
> As a result, removing a latency-based decoder leaves core_workqueue

LAT is an abbreviation to for the core responsible for entropy decoding. I don't
know what it translate to, but its not "latency", I'll do the minor edit. It
does reduce decoding latency though :-D

> allocated after the device lifetime has ended.
> 
> Destroy core_workqueue during remove for latency-based decoder
> architectures, matching the cleanup performed by the probe failure
> paths.
> 
> This issue was found by manual code inspection.
> 
> Fixes: 365e4ba01df4 ("media: mtk-vcodec: Add work queue for core hardware decode")
> Cc: stable at vger.kernel.org
> Signed-off-by: Guangshuo Li <lgs201920130244 at gmail.com>


Reviewed-by: Nicolas Dufresne <nicolas.dufresne at collabora.com>

> ---
>  .../media/platform/mediatek/vcodec/decoder/mtk_vcodec_dec_drv.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/media/platform/mediatek/vcodec/decoder/mtk_vcodec_dec_drv.c b/drivers/media/platform/mediatek/vcodec/decoder/mtk_vcodec_dec_drv.c
> index e936ed8dffba..426d060d937c 100644
> --- a/drivers/media/platform/mediatek/vcodec/decoder/mtk_vcodec_dec_drv.c
> +++ b/drivers/media/platform/mediatek/vcodec/decoder/mtk_vcodec_dec_drv.c
> @@ -570,6 +570,8 @@ static void mtk_vcodec_dec_remove(struct platform_device *pdev)
>  	struct mtk_vcodec_dec_dev *dev = platform_get_drvdata(pdev);
>  
>  	destroy_workqueue(dev->decode_workqueue);
> +	if (IS_VDEC_LAT_ARCH(dev->vdec_pdata->hw_arch))
> +		destroy_workqueue(dev->core_workqueue);
>  
>  	if (media_devnode_is_registered(dev->mdev_dec.devnode)) {
>  		media_device_unregister(&dev->mdev_dec);
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: This is a digitally signed message part
URL: <http://lists.infradead.org/pipermail/linux-mediatek/attachments/20260929/7f1019db/attachment.sig>


More information about the Linux-mediatek mailing list