mirror of
https://github.com/torvalds/linux.git
synced 2026-05-28 00:53:34 +02:00
media: renesas: vsp1: Fix NULL pointer deref on module unload
When unloading the module on gen 4, we hit a NULL pointer dereference.
This is caused by the cleanup code calling vsp1_drm_cleanup() where it
should be calling vsp1_vspx_cleanup().
Fix this by checking the IP version and calling the drm or vspx function
accordingly, the same way as the init code does.
Fixes: d06c1a9f34 ("media: vsp1: Add VSPX support")
Cc: stable@vger.kernel.org
Signed-off-by: Tomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
This commit is contained in:
parent
8015a49d8b
commit
58b1e9664d
|
|
@ -240,8 +240,12 @@ static void vsp1_destroy_entities(struct vsp1_device *vsp1)
|
|||
media_device_unregister(&vsp1->media_dev);
|
||||
media_device_cleanup(&vsp1->media_dev);
|
||||
|
||||
if (!vsp1->info->uapi)
|
||||
vsp1_drm_cleanup(vsp1);
|
||||
if (!vsp1->info->uapi) {
|
||||
if (vsp1->info->version == VI6_IP_VERSION_MODEL_VSPX_GEN4)
|
||||
vsp1_vspx_cleanup(vsp1);
|
||||
else
|
||||
vsp1_drm_cleanup(vsp1);
|
||||
}
|
||||
}
|
||||
|
||||
static int vsp1_create_entities(struct vsp1_device *vsp1)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user