]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 11 May 2013 14:18:34 +0000 (07:18 -0700)
commit 0cd9cb76ae26a19df21abc6f94f5fff141e689c7 upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/radeon/radeon_kms.c

index c75cb2c6ba71164e7429a5be99dc5938c40248fe..c5b2765cbf10567b7ec3a8849fd6ca03b254d5cd 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;