diff options
author | Hannes Hering <hannes.hering@gmx.de> | 2008-09-05 10:36:26 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2008-09-24 18:49:00 -0400 |
commit | 70666c71957b62c8e9ea5c0d999a4bfd214c80d2 (patch) | |
tree | e20315c91b94993f50808404d5a3009e5edda501 /drivers/net/ehea | |
parent | 539b06fc73b1d470b9ecb3fe7af6d5f439322c08 (diff) |
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.c | 3 |
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, | |||
595 | end_section = start_section + ((nr_pages * PAGE_SIZE) / EHEA_SECTSIZE); | 595 | end_section = start_section + ((nr_pages * PAGE_SIZE) / EHEA_SECTSIZE); |
596 | mr_len = *(unsigned long *)arg; | 596 | mr_len = *(unsigned long *)arg; |
597 | 597 | ||
598 | ehea_bmap = kzalloc(sizeof(struct ehea_bmap), GFP_KERNEL); | 598 | if (!ehea_bmap) |
599 | ehea_bmap = kzalloc(sizeof(struct ehea_bmap), GFP_KERNEL); | ||
599 | if (!ehea_bmap) | 600 | if (!ehea_bmap) |
600 | return -ENOMEM; | 601 | return -ENOMEM; |
601 | 602 | ||