/* if we have > 1 VGA cards, then disable the amdgpu VGA resources */
        /* this will fail for cards that aren't VGA class devices, just
         * ignore it */
-       vga_client_register(adev->pdev, adev, NULL, amdgpu_device_vga_set_decode);
+       if ((adev->pdev->class >> 8) == PCI_CLASS_DISPLAY_VGA)
+               vga_client_register(adev->pdev, adev, NULL, amdgpu_device_vga_set_decode);
 
        if (amdgpu_device_supports_boco(ddev))
                boco = true;
                vga_switcheroo_unregister_client(adev->pdev);
        if (amdgpu_device_supports_boco(adev_to_drm(adev)))
                vga_switcheroo_fini_domain_pm_ops(adev->dev);
-       vga_client_register(adev->pdev, NULL, NULL, NULL);
+       if ((adev->pdev->class >> 8) == PCI_CLASS_DISPLAY_VGA)
+               vga_client_register(adev->pdev, NULL, NULL, NULL);
        if (adev->rio_mem)
                pci_iounmap(adev->pdev, adev->rio_mem);
        adev->rio_mem = NULL;