|
|
@@ -808,6 +808,9 @@ static int dcmi_try_fmt(struct stm32_dcmi *dcmi, struct v4l2_format *f,
|
|
|
|
|
|
sd_fmt = find_format_by_fourcc(dcmi, pix->pixelformat);
|
|
|
if (!sd_fmt) {
|
|
|
+ if (!dcmi->num_of_sd_formats)
|
|
|
+ return -ENODATA;
|
|
|
+
|
|
|
sd_fmt = dcmi->sd_formats[dcmi->num_of_sd_formats - 1];
|
|
|
pix->pixelformat = sd_fmt->fourcc;
|
|
|
}
|
|
|
@@ -986,6 +989,9 @@ static int dcmi_set_sensor_format(struct stm32_dcmi *dcmi,
|
|
|
|
|
|
sd_fmt = find_format_by_fourcc(dcmi, pix->pixelformat);
|
|
|
if (!sd_fmt) {
|
|
|
+ if (!dcmi->num_of_sd_formats)
|
|
|
+ return -ENODATA;
|
|
|
+
|
|
|
sd_fmt = dcmi->sd_formats[dcmi->num_of_sd_formats - 1];
|
|
|
pix->pixelformat = sd_fmt->fourcc;
|
|
|
}
|