summaryrefslogtreecommitdiff
path: root/drivers/net/ehea
diff options
context:
space:
mode:
authorHannes Hering <hannes.hering@gmx.de>2008-09-05 18:36:26 +0400
committerJeff Garzik <jgarzik@redhat.com>2008-09-25 02:49:00 +0400
commit70666c71957b62c8e9ea5c0d999a4bfd214c80d2 (patch)
treee20315c91b94993f50808404d5a3009e5edda501 /drivers/net/ehea
parent539b06fc73b1d470b9ecb3fe7af6d5f439322c08 (diff)
downloadlinux-70666c71957b62c8e9ea5c0d999a4bfd214c80d2.tar.xz
ehea: Fix DLPAR memory handling
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>
Diffstat (limited to 'drivers/net/ehea')
-rw-r--r--drivers/net/ehea/ehea_qmr.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/ehea/ehea_qmr.c b/drivers/net/ehea/ehea_qmr.c
index 140f05baafd8..db8a9257e680 100644
--- a/drivers/net/ehea/ehea_qmr.c
+++ b/drivers/net/ehea/ehea_qmr.c
@@ -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;