diff --git a/src/egl/main/egldevice.c b/src/egl/main/egldevice.c index 39a123792c8..ba77430811b 100644 --- a/src/egl/main/egldevice.c +++ b/src/egl/main/egldevice.c @@ -284,8 +284,10 @@ _eglRefreshDeviceList(void) num_devs = drmGetDevices2(0, devices, ARRAY_SIZE(devices)); for (int i = 0; i < num_devs; i++) { - if (!(devices[i]->available_nodes & (1 << DRM_NODE_RENDER))) + if (!(devices[i]->available_nodes & (1 << DRM_NODE_RENDER))) { + drmFreeDevice(&devices[i]); continue; + } ret = _eglAddDRMDevice(devices[i], NULL);