You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.2 KiB
Diff
42 lines
1.2 KiB
Diff
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
|
|
@@ -1860,6 +1860,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;
|
|
|
|
@@ -1968,6 +1974,9 @@ cleanup_gdev:
|
|
gdev[i] = NULL;
|
|
}
|
|
|
|
+cleanup_mmal:
|
|
+ vchiq_mmal_finalise(instance);
|
|
+
|
|
return ret;
|
|
}
|
|
|