diff options
Diffstat (limited to 'target/linux/brcm2708/patches-4.19/950-0237-staging-bcm2835-Don-t-probe-if-no-camera-is-detected.patch')
-rw-r--r-- | target/linux/brcm2708/patches-4.19/950-0237-staging-bcm2835-Don-t-probe-if-no-camera-is-detected.patch | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/target/linux/brcm2708/patches-4.19/950-0237-staging-bcm2835-Don-t-probe-if-no-camera-is-detected.patch b/target/linux/brcm2708/patches-4.19/950-0237-staging-bcm2835-Don-t-probe-if-no-camera-is-detected.patch new file mode 100644 index 0000000000..0b8f0dcfa7 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0237-staging-bcm2835-Don-t-probe-if-no-camera-is-detected.patch @@ -0,0 +1,41 @@ +From 55c9d1a762b9cbb5a4c574918fb41a9cde6bb491 Mon Sep 17 00:00:00 2001 +From: Stefan Wahren <stefan.wahren@i2se.com> +Date: Mon, 22 Oct 2018 11:09:18 +0200 +Subject: [PATCH 237/703] staging: bcm2835: Don't probe if no camera is + detected + +It is a waste of resources to load the camera driver in case there isn't +a camera actually connected to the Raspberry Pi. This solution also +avoids a NULL ptr dereference of mmal instance on driver unload. + +Fixes: 7b3ad5abf027 ("staging: Import the BCM2835 MMAL-based V4L2 camera driver.") +Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> +--- + .../vc04_services/bcm2835-camera/bcm2835-camera.c | 9 +++++++++ + 1 file changed, 9 insertions(+) + +--- a/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c ++++ b/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c +@@ -1847,6 +1847,12 @@ static int bcm2835_mmal_probe(struct pla + num_cameras = get_num_cameras(instance, + resolutions, + MAX_BCM2835_CAMERAS); ++ ++ if (num_cameras < 1) { ++ ret = -ENODEV; ++ goto cleanup_mmal; ++ } ++ + if (num_cameras > MAX_BCM2835_CAMERAS) + num_cameras = MAX_BCM2835_CAMERAS; + +@@ -1955,6 +1961,9 @@ cleanup_gdev: + gdev[i] = NULL; + } + ++cleanup_mmal: ++ vchiq_mmal_finalise(instance); ++ + return ret; + } + |