patch-2.4.19 linux-2.4.19/drivers/char/drm/i810_dma.c
Next file: linux-2.4.19/drivers/char/drm/radeon_state.c
Previous file: linux-2.4.19/drivers/char/drm/drm_agpsupport.h
Back to the patch index
Back to the overall index
-  Lines: 31
-  Date:
Fri Aug  2 17:39:43 2002
-  Orig file: 
linux-2.4.18/drivers/char/drm/i810_dma.c
-  Orig date: 
Wed Aug  8 09:42:15 2001
diff -urN linux-2.4.18/drivers/char/drm/i810_dma.c linux-2.4.19/drivers/char/drm/i810_dma.c
@@ -286,22 +286,20 @@
 	if(address == 0UL)
 		return 0;
 
-	atomic_inc(&virt_to_page(address)->count);
-	set_bit(PG_locked, &virt_to_page(address)->flags);
+	get_page(virt_to_page(address));
+	LockPage(virt_to_page(address));
 
 	return address;
 }
 
 static void i810_free_page(drm_device_t *dev, unsigned long page)
 {
-	if(page == 0UL)
-		return;
-
-	atomic_dec(&virt_to_page(page)->count);
-	clear_bit(PG_locked, &virt_to_page(page)->flags);
-	wake_up(&virt_to_page(page)->wait);
-	free_page(page);
-	return;
+	if (page) {
+		struct page *p = virt_to_page(page);
+		put_page(p);
+		UnlockPage(p);
+		free_page(page);
+	}
 }
 
 static int i810_dma_cleanup(drm_device_t *dev)
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)