소스 검색

mm-drivers: configure max driver instances base on build config

Add #ifdef to configure the maximum allowed driver instances
base on the build configuration, to avoid uninitialized access
to fences array.

Change-Id: I83ea5ade33a93e23edee21a0435ed7257fe5c9c9
Signed-off-by: Amine Najahi <[email protected]>
Amine Najahi 2 년 전
부모
커밋
51925b9f96
1개의 변경된 파일9개의 추가작업 그리고 3개의 파일을 삭제
  1. 9 3
      sync_fence/src/qcom_sync_file.c

+ 9 - 3
sync_fence/src/qcom_sync_file.c

@@ -30,6 +30,12 @@
 #define FENCE_MIN	1
 #define FENCE_MAX	32
 
+#if IS_ENABLED(CONFIG_DEBUG_FS)
+	#define MAX_DEVICE_SUPPORTED	2
+#else
+	#define MAX_DEVICE_SUPPORTED	1
+#endif
+
 struct sync_device {
 	/* device info */
 	struct class *dev_class;
@@ -105,9 +111,9 @@ static void clear_fence_array_tracker(bool force_clear)
 
 static struct sync_device *spec_fence_init_locked(struct sync_device *obj, const char *name)
 {
-	if (atomic_read(&obj->device_available) > 1) {
-		pr_err("number of device fds are limited by 2, device opened:%d\n",
-			atomic_read(&obj->device_available));
+	if (atomic_read(&obj->device_available) >= MAX_DEVICE_SUPPORTED) {
+		pr_err("number of device fds are limited to %d, device opened:%d\n",
+			MAX_DEVICE_SUPPORTED, atomic_read(&obj->device_available));
 		return NULL;
 	} else if (!atomic_read(&obj->device_available)) {
 		memset(obj->name, 0, NAME_LEN);