From 2c62256ca929c8e607deb0127a4cac652dd4da38 Mon Sep 17 00:00:00 2001 From: Icenowy Zheng Date: Wed, 17 Dec 2025 22:04:50 +0800 Subject: [PATCH] pipe-loader: make get_driver_descriptor() return NULL for unknown driver Currently for unknown drivers names, get_driver_descriptor() will never return NULL, but the driver descriptor of kmsro will be returned. However, kmsro is meaningless when the input FD isn't a KMS-capable one. Add the kmsro descriptor to the descriptor list, and stop to return it for unknown names (it will still be returned for "kmsro", which the fallback codepath in pipe_loader_drm_probe_fd_nodup() will use). Signed-off-by: Icenowy Zheng Reviewed-By: Daniel Stone Part-of: --- src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c b/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c index b4cdf3f9624..54e30948000 100644 --- a/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c +++ b/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c @@ -89,6 +89,7 @@ static const struct drm_driver_descriptor *driver_descriptors[] = { &tegra_driver_descriptor, &lima_driver_descriptor, &zink_driver_descriptor, + &kmsro_driver_descriptor, }; static const struct drm_driver_descriptor * @@ -98,7 +99,7 @@ get_driver_descriptor(const char *driver_name) if (strcmp(driver_descriptors[i]->driver_name, driver_name) == 0) return driver_descriptors[i]; } - return &kmsro_driver_descriptor; + return NULL; } static int