patch-1.3.76 linux/mm/kmalloc.c

Next file: linux/net/ipv4/ip_fw.c
Previous file: linux/kernel/sched.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v1.3.75/linux/mm/kmalloc.c linux/mm/kmalloc.c
@@ -177,7 +177,7 @@
 {
 	unsigned long flags;
 	unsigned long type;
-	int order, i, sz;
+	int order, i, sz, dma;
 	struct block_header *p;
 	struct page_descriptor *page, **pg;
 
@@ -187,9 +187,11 @@
 		return (NULL);
 	}
 
+	dma = 0;
 	type = MF_USED;
 	pg = &sizes[order].firstfree;
 	if (priority & GFP_DMA) {
+		dma = 1;
 		type = MF_DMA;
 		pg = &sizes[order].dmafree;
 	}
@@ -227,7 +229,7 @@
 	sz = BLOCKSIZE(order);
 
 	page = (struct page_descriptor *) __get_free_pages(priority,
-			sizes[order].gfporder, priority & GFP_DMA);
+			sizes[order].gfporder, dma);
 
 	if (!page) {
 		static unsigned long last = 0;

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov with Sam's (original) version
of this