diff options
author | Robert Fitzsimons <robfitz@273k.net> | 2010-04-24 01:18:13 +0100 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2010-04-28 17:22:50 +1000 |
commit | ccb2ad579f910e6146adf4eb3aa50325253ee8c9 (patch) | |
tree | 00b52737a745b4facd3c59e92963ff5c25e2a7d7 /drivers/gpu/drm/radeon/radeon_agp.c | |
parent | 797fd5b9dad12a100c81b5782573a41259728cb1 (diff) | |
download | linux-ccb2ad579f910e6146adf4eb3aa50325253ee8c9.tar.gz linux-ccb2ad579f910e6146adf4eb3aa50325253ee8c9.tar.bz2 linux-ccb2ad579f910e6146adf4eb3aa50325253ee8c9.zip |
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>
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_agp.c')
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_agp.c | 10 |
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 c4457791dff1..28e473f1f56f 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); |