mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-30 18:47:06 +00:00
c2308a7e4a
Also removes reverted patches. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
45 lines
1.6 KiB
Diff
45 lines
1.6 KiB
Diff
From 1a013467030ffd6f1958b8a4db1b5312213fb9bd Mon Sep 17 00:00:00 2001
|
|
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
|
|
Date: Thu, 17 Oct 2019 10:16:16 +0100
|
|
Subject: [PATCH] media: bcm2835-unicam: Replace hard coded loop limit
|
|
with a define
|
|
|
|
In order to protect against a dodgy sensor driver never returning
|
|
an error from enum_mbus_code there was a hardcoded value of 128
|
|
that aborted the loop.
|
|
There is a need to call enum_mbus_code from elsewhere, so move that
|
|
number to a define so it is common across calls.
|
|
|
|
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
|
|
---
|
|
drivers/media/platform/bcm2835/bcm2835-unicam.c | 11 ++++++-----
|
|
1 file changed, 6 insertions(+), 5 deletions(-)
|
|
|
|
--- a/drivers/media/platform/bcm2835/bcm2835-unicam.c
|
|
+++ b/drivers/media/platform/bcm2835/bcm2835-unicam.c
|
|
@@ -97,6 +97,11 @@ MODULE_PARM_DESC(debug, "Debug level 0-3
|
|
#define unicam_err(dev, fmt, arg...) \
|
|
v4l2_err(&(dev)->v4l2_dev, fmt, ##arg)
|
|
|
|
+/* To protect against a dodgy sensor driver never returning an error from
|
|
+ * enum_mbus_code, set a maximum index value to be used.
|
|
+ */
|
|
+#define MAX_ENUM_MBUS_CODE 128
|
|
+
|
|
/*
|
|
* Stride is a 16 bit register, but also has to be a multiple of 16.
|
|
*/
|
|
@@ -738,11 +743,7 @@ static int unicam_enum_fmt_vid_cap(struc
|
|
int ret = 0;
|
|
int i;
|
|
|
|
- /* Loop whilst the sensor driver says it has more formats, but add a
|
|
- * failsafe against a dodgy driver at 128 (more than any sensor will
|
|
- * ever sensibly advertise)
|
|
- */
|
|
- for (i = 0; !ret && i < 128 ; i++) {
|
|
+ for (i = 0; !ret && i < MAX_ENUM_MBUS_CODE; i++) {
|
|
memset(&mbus_code, 0, sizeof(mbus_code));
|
|
mbus_code.index = i;
|
|
|