]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
staging: bcm2835-camera: Initialise dev in v4l2_dev
authorDave Stevenson <dave.stevenson@raspberrypi.com>
Wed, 23 Apr 2025 10:47:15 +0000 (11:47 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 25 Apr 2025 14:14:10 +0000 (16:14 +0200)
Commit 42a2f6664e18 ("staging: vc04_services: Move global g_state to
vchiq_state") changed mmal_init to pass dev->v4l2_dev.dev to
vchiq_mmal_init, however nothing iniitialised dev->v4l2_dev, so we got
a NULL pointer dereference.

Set dev->v4l2_dev.dev during bcm2835_mmal_probe. The device pointer
could be passed into v4l2_device_register to set it, however that also
has other effects that would need additional changes.

Fixes: 42a2f6664e18 ("staging: vc04_services: Move global g_state to vchiq_state")
Cc: stable@vger.kernel.org
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
Reviewed-by: Stefan Wahren <wahrenst@gmx.net>
Link: https://lore.kernel.org/r/20250423-staging-bcm2835-v4l2-fix-v2-1-3227f0ba4700@raspberrypi.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c

index b839b50ac26a5450aa708418a6c2f89e479c1eef..fa7ea4ca4c36f4ec7f76f6ffbea9f45205116bb8 100644 (file)
@@ -1900,6 +1900,7 @@ static int bcm2835_mmal_probe(struct vchiq_device *device)
                                __func__, ret);
                        goto free_dev;
                }
+               dev->v4l2_dev.dev = &device->dev;
 
                /* setup v4l controls */
                ret = bcm2835_mmal_init_controls(dev, &dev->ctrl_handler);