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 <quic_anajahi@quicinc.com>
Cette révision appartient à :
Amine Najahi
2022-08-29 12:44:40 -04:00
Parent 99948e9714
révision 51925b9f96

Voir le fichier

@@ -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);