asahi: don't leak drm version
valgrind. Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31908>
This commit is contained in:
@@ -402,26 +402,31 @@ agx_open_device(void *memctx, struct agx_device *dev)
|
||||
dev->ops = agx_device_drm_ops;
|
||||
|
||||
ssize_t params_size = -1;
|
||||
drmVersionPtr version;
|
||||
|
||||
version = drmGetVersion(dev->fd);
|
||||
if (!version) {
|
||||
fprintf(stderr, "cannot get version: %s", strerror(errno));
|
||||
return NULL;
|
||||
}
|
||||
/* DRM version check */
|
||||
{
|
||||
drmVersionPtr version = drmGetVersion(dev->fd);
|
||||
if (!version) {
|
||||
fprintf(stderr, "cannot get version: %s", strerror(errno));
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (!strcmp(version->name, "asahi")) {
|
||||
dev->is_virtio = false;
|
||||
dev->ops = agx_device_drm_ops;
|
||||
} else if (!strcmp(version->name, "virtio_gpu")) {
|
||||
dev->is_virtio = true;
|
||||
if (!agx_virtio_open_device(dev)) {
|
||||
fprintf(stderr,
|
||||
"Error opening virtio-gpu device for Asahi native context\n");
|
||||
if (!strcmp(version->name, "asahi")) {
|
||||
dev->is_virtio = false;
|
||||
dev->ops = agx_device_drm_ops;
|
||||
} else if (!strcmp(version->name, "virtio_gpu")) {
|
||||
dev->is_virtio = true;
|
||||
if (!agx_virtio_open_device(dev)) {
|
||||
fprintf(
|
||||
stderr,
|
||||
"Error opening virtio-gpu device for Asahi native context\n");
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
return false;
|
||||
|
||||
drmFreeVersion(version);
|
||||
}
|
||||
|
||||
params_size = dev->ops.get_params(dev, &dev->params, sizeof(dev->params));
|
||||
|
||||
Reference in New Issue
Block a user