summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Fitzsimons <robfitz@273k.net>2010-04-24 00:18:13 (GMT)
committerDave Airlie <airlied@redhat.com>2010-04-28 07:22:50 (GMT)
commitccb2ad579f910e6146adf4eb3aa50325253ee8c9 (patch)
tree00b52737a745b4facd3c59e92963ff5c25e2a7d7
parent797fd5b9dad12a100c81b5782573a41259728cb1 (diff)
downloadlinux-ccb2ad579f910e6146adf4eb3aa50325253ee8c9.tar.xz
drm/radeon/kms/agp The wrong AGP chipset can cause a NULL pointer dereference
Selecting the wrong or no CONFIG_AGP_* chipset can cause a NULL pointer dereference when combined with CONFIG_DRM_RADEON_KMS and an old system with a R100 AGP card (should effect other cards too). The agp field will be set to NULL if no suitable AGP chipset driver is loaded, drm_agp_acquire already preforms a suitable NULL check so it can be used directly. Signed-off-by: Robert Fitzsimons <robfitz@273k.net> Signed-off-by: Dave Airlie <airlied@redhat.com>
-rw-r--r--drivers/gpu/drm/radeon/radeon_agp.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_agp.c b/drivers/gpu/drm/radeon/radeon_agp.c
index c445779..28e473f 100644
--- a/drivers/gpu/drm/radeon/radeon_agp.c
+++ b/drivers/gpu/drm/radeon/radeon_agp.c
@@ -134,12 +134,10 @@ int radeon_agp_init(struct radeon_device *rdev)
int ret;
/* Acquire AGP. */
- if (!rdev->ddev->agp->acquired) {
- ret = drm_agp_acquire(rdev->ddev);
- if (ret) {
- DRM_ERROR("Unable to acquire AGP: %d\n", ret);
- return ret;
- }
+ ret = drm_agp_acquire(rdev->ddev);
+ if (ret) {
+ DRM_ERROR("Unable to acquire AGP: %d\n", ret);
+ return ret;
}
ret = drm_agp_info(rdev->ddev, &info);