The qxl driver currently returns -EINVAL when the emulated qxl revision
is too old. This is not a driver initialization failure but rather a
match rejection, which should return -ENODEV.

Change the value returned when the qxl revision is below 4 to -ENODEV.
Switch the DRM_ERROR() call to a dev_err() call.

Fixes: f64122c1f6ad ("drm: add new QXL driver. (v1.4)")
Signed-off-by: Matheus Alves de Almeida <[email protected]>
---
v2: Use dev_err() instead of dev_info()

 drivers/gpu/drm/qxl/qxl_drv.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/qxl/qxl_drv.c b/drivers/gpu/drm/qxl/qxl_drv.c
index 97df9d3d6..85743f235 100644
--- a/drivers/gpu/drm/qxl/qxl_drv.c
+++ b/drivers/gpu/drm/qxl/qxl_drv.c
@@ -82,9 +82,9 @@ qxl_pci_probe(struct pci_dev *pdev, const struct 
pci_device_id *ent)
        int ret;
 
        if (pdev->revision < 4) {
-               DRM_ERROR("qxl too old, doesn't support client_monitors_config,"
-                         " use xf86-video-qxl in user mode");
-               return -EINVAL; /* TODO: ENODEV ? */
+               dev_err(&pdev->dev,
+                       "qxl too old, doesn't support client_monitors_config, 
use xf86-video-qxl in user mode\n");
+               return -ENODEV;
        }
 
        qdev = devm_drm_dev_alloc(&pdev->dev, &qxl_driver,
-- 
2.43.0

Reply via email to