_mmcam_dbg_err("could not acquire resources");
_mmcamcorder_resource_manager_unprepare(&hcamcorder->resource_manager);
+
goto _ERR_CAMCORDER_CMD_PRECON_AFTER_LOCK;
}
ret = MM_ERROR_CAMCORDER_INTERNAL;
goto _ERR_CAMCORDER_CMD_PRECON_AFTER_LOCK;
}
+ _MMCAMCORDER_LOCK_RESOURCE(hcamcorder);
ret = _mmcamcorder_resource_manager_unprepare(&hcamcorder->resource_manager);
+ _MMCAMCORDER_UNLOCK_RESOURCE(hcamcorder);
if (ret != MM_ERROR_NONE) {
_mmcam_dbg_err("failed to unprepare resource manager, ret(0x%x)", ret);
}
mmf_return_if_fail((MMHandleType)camcorder);
+ _MMCAMCORDER_LOCK_RESOURCE(camcorder);
+
if (!mrp_res_equal_resource_set(rs, camcorder->resource_manager.rset)) {
_mmcam_dbg_warn("- resource set(%p) is not same as this camcorder handle's(%p)", rs, camcorder->resource_manager.rset);
+ _MMCAMCORDER_UNLOCK_RESOURCE(camcorder);
return;
}
res->name, __mmcamcorder_resource_state_to_str(res->state));
if (res->state == MRP_RES_RESOURCE_ACQUIRED) {
- _MMCAMCORDER_LOCK_RESOURCE(camcorder);
-
camcorder->resource_manager.acquire_count--;
if (camcorder->resource_manager.acquire_count <= 0) {
_mmcam_dbg_warn("remained acquire count %d",
camcorder->resource_manager.acquire_count);
}
-
- _MMCAMCORDER_UNLOCK_RESOURCE(camcorder);
}
}
}
mrp_res_delete_resource_set(camcorder->resource_manager.rset);
camcorder->resource_manager.rset = mrp_res_copy_resource_set(rs);
+ _MMCAMCORDER_UNLOCK_RESOURCE(camcorder);
+
return;
}