patch-2.4.0-test6 linux/drivers/char/ftape/lowlevel/ftape-buffer.c

Next file: linux/drivers/char/hp600_keyb.c
Previous file: linux/drivers/char/drm/vm.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test5/linux/drivers/char/ftape/lowlevel/ftape-buffer.c linux/drivers/char/ftape/lowlevel/ftape-buffer.c
@@ -48,11 +48,10 @@
 	}
 	addr = __get_dma_pages(GFP_KERNEL, get_order(size));
 	if (addr) {
-		int i;
+		struct page *page;
 
-		for (i = MAP_NR(addr); i < MAP_NR(addr+size); i++) {
-			mem_map_reserve(i);
-		}
+		for (page = virt_to_page(addr); page < virt_to_page(addr+size); page++)
+			mem_map_reserve(page);
 	}
 	return (void *)addr;
 }
@@ -60,12 +59,11 @@
 static inline void dmafree(void *addr, size_t size)
 {
 	if (size > 0) {
-		int i;
+		struct page *page;
 
-		for (i = MAP_NR((unsigned long)addr);
-		     i < MAP_NR((unsigned long)addr+size); i++) {
-			mem_map_unreserve (i);
-		}
+		for (page = virt_to_page((unsigned long)addr);
+		     page < virt_to_page((unsigned long)addr+size); page++)
+			mem_map_unreserve(page);
 		free_pages((unsigned long) addr, get_order(size));
 	}
 }

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)