This patch fixes a NULL pointer reference when using a drm module that
does not enforce AGP (like r128) on a system without an AGP card.

Andreas.

--- linux/drivers/char/drm/drm_memory.h.~1~     Sat Jan 19 23:46:22 2002
+++ linux/drivers/char/drm/drm_memory.h Fri Jan 18 23:26:31 2002
@@ -322,7 +322,7 @@
        }
 
 #if __REALLY_HAVE_AGP
-       if(dev->agp->cant_use_aperture == 0)
+       if(!dev->agp || dev->agp->cant_use_aperture == 0)
                goto standard_ioremap;
 
        list_for_each(list, &dev->maplist->head) {
@@ -382,7 +382,7 @@
                DRM_MEM_ERROR(DRM_MEM_MAPPINGS,
                              "Attempt to free NULL pointer\n");
 #if __REALLY_HAVE_AGP
-       else if(dev->agp->cant_use_aperture == 0)
+       else if(!dev->agp || dev->agp->cant_use_aperture == 0)
 #else
        else
 #endif
--- linux/drivers/char/drm/drm_vm.h.~1~ Sat Jan 19 23:47:13 2002
+++ linux/drivers/char/drm/drm_vm.h     Fri Jan 18 23:26:31 2002
@@ -78,7 +78,7 @@
          * Find the right map
          */
 
-       if(!dev->agp->cant_use_aperture) goto vm_nopage_error;
+       if(!dev->agp || !dev->agp->cant_use_aperture) goto vm_nopage_error;
 
        list_for_each(list, &dev->maplist->head) {
                r_list = (drm_map_list_t *)list;

-- 
Andreas Schwab, SuSE Labs, [EMAIL PROTECTED]
SuSE GmbH, Deutschherrnstr. 15-19, D-90429 Nürnberg
Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."

_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to