xf86drm: continue after drmProcessPlatformDevice failure
On ChromeOS devices, readdir() processes the directory in
the following order:
-NAME- -TYPE-
. n/a
.. n/a
vgem n/a
card1 DRM_BUS_PLATFORM
renderD129 DRM_BUS_PLATFORM
card0 DRM_BUS_PCI
renderD128 DRM_BUS_PCI
controlD64 DRM_BUS_PCI
In drmGetDevices2, after drmProcessPlatformDevice fails for
/dev/dri/card1, we don't process the remaining directory entries.
As such, Vulkan fails to initialize since Mesa uses drmGetDevices2.
To fix this, continue if drmProcessPlatformDevice fails.
Fixes: 7b1f37f474
("xf86drm: Add platform and host1x bus support")
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
[Emil: correct the host1x platforms as well]
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
main
parent
23e234a350
commit
5226b52773
|
@ -3997,7 +3997,7 @@ int drmGetDevices2(uint32_t flags, drmDevicePtr devices[], int max_devices)
|
|||
ret = drmProcessPlatformDevice(&device, node, node_type, maj, min,
|
||||
devices != NULL, flags);
|
||||
if (ret)
|
||||
goto free_devices;
|
||||
continue;
|
||||
|
||||
break;
|
||||
|
||||
|
@ -4005,7 +4005,7 @@ int drmGetDevices2(uint32_t flags, drmDevicePtr devices[], int max_devices)
|
|||
ret = drmProcessHost1xDevice(&device, node, node_type, maj, min,
|
||||
devices != NULL, flags);
|
||||
if (ret)
|
||||
goto free_devices;
|
||||
continue;
|
||||
|
||||
break;
|
||||
|
||||
|
|
Loading…
Reference in New Issue