drm/vmwgfx/vmwgfx_drv: Fix an error path in vmw_setup_pci_resources()
authorDan Carpenter <dan.carpenter@oracle.com>
Mon, 25 Jan 2021 08:45:37 +0000 (11:45 +0300)
committerMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
Tue, 9 Feb 2021 16:14:11 +0000 (17:14 +0100)
The devm_memremap() function never returns NULL, it returns error
pointers so the test needs to be fixed.  Also we need to call
pci_release_regions() to avoid a memory leak.

Fixes: be4f77ac6884 ("drm/vmwgfx: Cleanup fifo mmio handling")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Zack Rusin <zackr@vmware.com>
Link: https://patchwork.freedesktop.org/patch/msgid/YA6FMboLhnE3uSvb@mwanda
(cherry picked from commit f3ebd4e6b692ab7af464561410a1f05dfc850823)
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
drivers/gpu/drm/vmwgfx/vmwgfx_drv.c

index 408847a..e59a8a8 100644 (file)
@@ -668,9 +668,10 @@ static int vmw_setup_pci_resources(struct vmw_private *dev,
                                      fifo_size,
                                      MEMREMAP_WB);
 
-       if (unlikely(dev->fifo_mem == NULL)) {
+       if (IS_ERR(dev->fifo_mem)) {
                DRM_ERROR("Failed mapping FIFO memory.\n");
-               return -ENOMEM;
+               pci_release_regions(pdev);
+               return PTR_ERR(dev->fifo_mem);
        }
 
        /*