diff options
| author | Dave Stevenson <dave.stevenson@raspberrypi.com> | 2025-04-23 11:47:15 +0100 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2025-05-18 08:24:51 +0200 |
| commit | 06753f49336ab161ea0e249a0720125b81b7b31b (patch) | |
| tree | f3e2ddcd5bb576e7e90cd63ef5d2f8f5c455ea9f /drivers/staging | |
| parent | 215e42e2f12cd737a8fc2ff9450d4c423fbfbb2d (diff) | |
| download | linux-06753f49336ab161ea0e249a0720125b81b7b31b.tar.gz linux-06753f49336ab161ea0e249a0720125b81b7b31b.tar.bz2 linux-06753f49336ab161ea0e249a0720125b81b7b31b.zip | |
staging: bcm2835-camera: Initialise dev in v4l2_dev
commit 98698ca0e58734bc5c1c24e5bbc7429f981cd186 upstream.
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>
Diffstat (limited to 'drivers/staging')
| -rw-r--r-- | drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c b/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c index deec33f63bcf..e6724329356b 100644 --- a/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c +++ b/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c @@ -1902,6 +1902,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); |
