Fix for agpgart module detection. If the kernel module has been configured
authorGareth Hughes <gareth@users.sourceforge.net>
Sat, 1 Jul 2000 01:50:00 +0000 (01:50 +0000)
committerGareth Hughes <gareth@users.sourceforge.net>
Sat, 1 Jul 2000 01:50:00 +0000 (01:50 +0000)
    to use AGP, and the module is not present, fail gracefully instead of
    doing evil things.

linux-core/r128_drv.c
linux/r128_drv.c

index 8b66988..4c06555 100644 (file)
@@ -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,
index 8b66988..4c06555 100644 (file)
@@ -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,