diff --git a/.pick_status.json b/.pick_status.json index 58bc7e187c0..c0edaef3ad0 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -94,7 +94,7 @@ "description": "panvk: Disallow unknown GPU models early in physical device init", "nominated": true, "nomination_type": 2, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "c95ef9e3232ef35da3b3d7a77d0726d0cde3fe23", "notes": null diff --git a/src/panfrost/vulkan/panvk_physical_device.c b/src/panfrost/vulkan/panvk_physical_device.c index 8124da9259f..a3aadb58a14 100644 --- a/src/panfrost/vulkan/panvk_physical_device.c +++ b/src/panfrost/vulkan/panvk_physical_device.c @@ -905,6 +905,14 @@ panvk_physical_device_init(struct panvk_physical_device *device, unsigned arch = pan_arch(device->kmod.props.gpu_prod_id); + if (!device->model) { + result = panvk_errorf(instance, VK_ERROR_INCOMPATIBLE_DRIVER, + "Unknown gpu_id (%#x) or variant (%#x)", + device->kmod.props.gpu_prod_id, + device->kmod.props.gpu_variant); + goto fail; + } + switch (arch) { case 6: case 7: