In case of error, the function devm_ioremap() returns NULL pointer not ERR_PTR(). The IS_ERR() test in the return value check should be replaced with NULL test. After that, the error code -ENOMEM should be returned. Reported-by: Hulk Robot <hulkci@xxxxxxxxxx> Signed-off-by: Qiheng Lin <linqiheng@xxxxxxxxxx> --- drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c index 5cf3a5bf539f..6f5ea00973e0 100644 --- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c @@ -719,10 +719,10 @@ static int vmw_setup_pci_resources(struct vmw_private *dev, dev->rmmio = devm_ioremap(dev->drm.dev, rmmio_start, rmmio_size); - if (IS_ERR(dev->rmmio)) { + if (!dev->rmmio) { DRM_ERROR("Failed mapping registers mmio memory.\n"); pci_release_regions(pdev); - return PTR_ERR(dev->rmmio); + return -ENOMEM; } } else if (pci_id == VMWGFX_PCI_ID_SVGA2) { dev->io_start = pci_resource_start(pdev, 0);