summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--linux-core/r128_drv.c7
-rw-r--r--linux/r128_drv.c7
2 files changed, 14 insertions, 0 deletions
diff --git a/linux-core/r128_drv.c b/linux-core/r128_drv.c
index 8b669888..4c065551 100644
--- a/linux-core/r128_drv.c
+++ b/linux-core/r128_drv.c
@@ -369,6 +369,13 @@ int r128_init(void)
#ifdef DRM_AGP
dev->agp = drm_agp_init();
+ if (dev->agp == NULL) {
+ DRM_ERROR("Cannot initialize agpgart module.\n");
+ drm_proc_cleanup();
+ misc_deregister(&r128_misc);
+ r128_takedown(dev);
+ return -ENOMEM;
+ }
#ifdef CONFIG_MTRR
dev->agp->agp_mtrr = mtrr_add(dev->agp->agp_info.aper_base,
diff --git a/linux/r128_drv.c b/linux/r128_drv.c
index 8b669888..4c065551 100644
--- a/linux/r128_drv.c
+++ b/linux/r128_drv.c
@@ -369,6 +369,13 @@ int r128_init(void)
#ifdef DRM_AGP
dev->agp = drm_agp_init();
+ if (dev->agp == NULL) {
+ DRM_ERROR("Cannot initialize agpgart module.\n");
+ drm_proc_cleanup();
+ misc_deregister(&r128_misc);
+ r128_takedown(dev);
+ return -ENOMEM;
+ }
#ifdef CONFIG_MTRR
dev->agp->agp_mtrr = mtrr_add(dev->agp->agp_info.aper_base,