瀏覽代碼

greybus: camera: Fix number of configured streams

Camera Module may report a lower number of configured streams than the
one requested by the AP.
All the non-supported stream configuration are zeroed.
Make the stream configuration inspection loop take only the valid stream
into account, to avoid unnecessarily accessing zeroed memory areas.

So far, inspecting non valid streams configuration has prove to be
harmless, but as we'll need to inspect stream characteristics as reported
image sizes and format, we have to take only valid configurations into
account.

Testing Done: White Camera Module preview and capture.

Signed-off-by: Jacopo Mondi <jacopo.mondi@linaro.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart@linaro.org>
Signed-off-by: Alex Elder <elder@linaro.org>
Jacopo Mondi 9 年之前
父節點
當前提交
36ab1108b6
共有 1 個文件被更改,包括 1 次插入1 次删除
  1. 1 1
      drivers/staging/greybus/camera.c

+ 1 - 1
drivers/staging/greybus/camera.c

@@ -435,7 +435,7 @@ static int gb_camera_configure_streams(struct gb_camera *gcam,
 	*flags = resp->flags;
 	*num_streams = resp->num_streams;
 
-	for (i = 0; i < nstreams; ++i) {
+	for (i = 0; i < resp->num_streams; ++i) {
 		struct gb_camera_stream_config_response *cfg = &resp->config[i];
 
 		streams[i].width = le16_to_cpu(cfg->width);