mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 10:31:46 +09:00
media: amphion: Cancel message work before releasing the VPU core
commit ae246b0032146e352c4c06a7bf03cd3d5bcb2ecd upstream.
To avoid accessing the VPU register after release of the VPU core,
cancel the message work and destroy the workqueue that handles the
VPU message before release of the VPU core.
Fixes: 3cd084519c ("media: amphion: add vpu v4l2 m2m support")
Cc: stable@vger.kernel.org
Signed-off-by: Ming Qian <ming.qian@oss.nxp.com>
Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
52604951b9
commit
4b139f88c2
@@ -682,15 +682,15 @@ static int vpu_v4l2_release(struct vpu_inst *inst)
|
||||
{
|
||||
vpu_trace(inst->vpu->dev, "%p\n", inst);
|
||||
|
||||
vpu_release_core(inst->core);
|
||||
put_device(inst->dev);
|
||||
|
||||
if (inst->workqueue) {
|
||||
cancel_work_sync(&inst->msg_work);
|
||||
destroy_workqueue(inst->workqueue);
|
||||
inst->workqueue = NULL;
|
||||
}
|
||||
|
||||
vpu_release_core(inst->core);
|
||||
put_device(inst->dev);
|
||||
|
||||
v4l2_ctrl_handler_free(&inst->ctrl_handler);
|
||||
mutex_destroy(&inst->lock);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user