소스 검색

msm: camera: sensor: Correct delete request logic

Currently per frame array is not getting filled up with NOP packet
settings and as a part of that delete request is picking up wrong
request to get delete. This change fill the request id to the
correct per frame array index for NOP and Update packet.

CRs-Fixed: 2759031
Change-Id: I5ff96851adccc81a8a527d2a5f5b3f8763ebd80f
Signed-off-by: Jigarkumar Zala <[email protected]>
Jigarkumar Zala 4 년 전
부모
커밋
11a5797354
1개의 변경된 파일7개의 추가작업 그리고 0개의 파일을 삭제
  1. 7 0
      drivers/cam_sensor_module/cam_sensor/cam_sensor_core.c

+ 7 - 0
drivers/cam_sensor_module/cam_sensor/cam_sensor_core.c

@@ -289,6 +289,12 @@ static int32_t cam_sensor_i2c_pkt_parse(struct cam_sensor_ctrl_t *s_ctrl,
 			goto end;
 		}
 
+		i2c_reg_settings =
+			&i2c_data->per_frame[csl_packet->header.request_id %
+				MAX_PER_FRAME_ARRAY];
+		i2c_reg_settings->request_id = csl_packet->header.request_id;
+		i2c_reg_settings->is_settings_valid = 1;
+
 		rc = cam_sensor_update_req_mgr(s_ctrl, csl_packet);
 		if (rc)
 			CAM_ERR(CAM_SENSOR,
@@ -1303,6 +1309,7 @@ int cam_sensor_apply_settings(struct cam_sensor_ctrl_t *s_ctrl,
 					return rc;
 				}
 			}
+			CAM_DBG(CAM_SENSOR, "applied req_id: %llu", req_id);
 		} else {
 			CAM_DBG(CAM_SENSOR,
 				"Invalid/NOP request to apply: %lld", req_id);