]> 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)
committerBen Hutchings <ben@decadent.org.uk>
Mon, 13 May 2013 14:02:18 +0000 (15:02 +0100)
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>
[bwh: Backported to 3.2: adjust context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/gpu/drm/radeon/radeon_kms.c

index be2c1224e68ae073f36a971f531d052a8bf2a9e5..4bb9e274c8789b2d48138645a4e704610833ae5b 100644 (file)
@@ -39,8 +39,12 @@ int radeon_driver_unload_kms(struct drm_device *dev)
 
        if (rdev == NULL)
                return 0;
+       if (rdev->rmmio == NULL)
+               goto done_free;
        radeon_modeset_fini(rdev);
        radeon_device_fini(rdev);
+
+done_free:
        kfree(rdev);
        dev->dev_private = NULL;
        return 0;