drm/radeon: cleanup properly if mmio mapping fails
authorAlex Deucher <alexander.deucher@amd.com>
Fri, 12 Apr 2013 23:15:52 +0000 (19:15 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 15 Apr 2013 14:34:12 +0000 (10:34 -0400)
If we fail to map the mmio BAR, skip driver tear down
that requires mmio.

Should fix:
https://bugzilla.kernel.org/show_bug.cgi?id=56541

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
drivers/gpu/drm/radeon/radeon_kms.c

index a24b9ba4de73090023a56713a2d054cb4a88f544..4f2d4f4c1dab4b2b32b874ce8d34f499fb3b51ef 100644 (file)
@@ -50,9 +50,13 @@ int radeon_driver_unload_kms(struct drm_device *dev)
 
        if (rdev == NULL)
                return 0;
+       if (rdev->rmmio == NULL)
+               goto done_free;
        radeon_acpi_fini(rdev);
        radeon_modeset_fini(rdev);
        radeon_device_fini(rdev);
+
+done_free:
        kfree(rdev);
        dev->dev_private = NULL;
        return 0;