diff options
author | Dave Airlie <airlied@redhat.com> | 2010-02-01 11:22:10 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2010-02-01 11:22:10 +1000 |
commit | 4b866288be6ffaefaad9cec212cb09e3258a68ee (patch) | |
tree | 81317f5c119f6429324118bb5db9a658d429e224 /drivers/gpu/drm/radeon | |
parent | 2dea2e29b9fad48c759aa406b5ea426bff4339af (diff) | |
download | op-kernel-dev-4b866288be6ffaefaad9cec212cb09e3258a68ee.zip op-kernel-dev-4b866288be6ffaefaad9cec212cb09e3258a68ee.tar.gz |
drm/radeon/kms: release agp on error.
if we get an error, release the AGP if we've acquired it already.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon')
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_agp.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_agp.c b/drivers/gpu/drm/radeon/radeon_agp.c index b634d98..c0681a55 100644 --- a/drivers/gpu/drm/radeon/radeon_agp.c +++ b/drivers/gpu/drm/radeon/radeon_agp.c @@ -144,11 +144,13 @@ int radeon_agp_init(struct radeon_device *rdev) ret = drm_agp_info(rdev->ddev, &info); if (ret) { + drm_agp_release(rdev->ddev); DRM_ERROR("Unable to get AGP info: %d\n", ret); return ret; } if (rdev->ddev->agp->agp_info.aper_size < 32) { + drm_agp_release(rdev->ddev); dev_warn(rdev->dev, "AGP aperture too small (%zuM) " "need at least 32M, disabling AGP\n", rdev->ddev->agp->agp_info.aper_size); @@ -229,6 +231,7 @@ int radeon_agp_init(struct radeon_device *rdev) ret = drm_agp_enable(rdev->ddev, mode); if (ret) { DRM_ERROR("Unable to enable AGP (mode = 0x%lx)\n", mode.mode); + drm_agp_release(rdev->ddev); return ret; } |