ehea: Fix DLPAR memory handling
authorHannes Hering <hannes.hering@gmx.de>
Fri, 5 Sep 2008 14:36:26 +0000 (16:36 +0200)
committerJeff Garzik <jgarzik@redhat.com>
Wed, 24 Sep 2008 22:49:00 +0000 (18:49 -0400)
The ehea busmap must be allocated only once in the first of many calls of the
ehea_create_busmap_callback.

Signed-off-by: Hannes Hering <hering2@de.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
drivers/net/ehea/ehea_qmr.c

index 140f05baafd822b97946e183e9f221cf602a8d41..db8a9257e680aaa81945c1b26be37afd6a18b025 100644 (file)
@@ -595,7 +595,8 @@ static int ehea_create_busmap_callback(unsigned long pfn,
        end_section = start_section + ((nr_pages * PAGE_SIZE) / EHEA_SECTSIZE);
        mr_len = *(unsigned long *)arg;
 
-       ehea_bmap = kzalloc(sizeof(struct ehea_bmap), GFP_KERNEL);
+       if (!ehea_bmap)
+               ehea_bmap = kzalloc(sizeof(struct ehea_bmap), GFP_KERNEL);
        if (!ehea_bmap)
                return -ENOMEM;