aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Ernst <mernst@de.ibm.com>2008-08-01 16:39:14 +0200
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2008-08-01 16:39:31 +0200
commit883e512c99fc398d1b2b5e8e92b6bacff2551756 (patch)
treec4de376fef2e0881b345601527a3b44799f9fe9c
parent683d718a893575a88c551ad71ea2c382eedbf67e (diff)
[S390] cio: Memory allocation for idset changed.
Memory allocation for the quite huge idset changed from kzalloc to vmalloc. Signed-off-by: Michael Ernst <mernst@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
-rw-r--r--drivers/s390/cio/idset.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/s390/cio/idset.c b/drivers/s390/cio/idset.c
index ef7bc0a125e..cf8f24a4b5e 100644
--- a/drivers/s390/cio/idset.c
+++ b/drivers/s390/cio/idset.c
@@ -5,7 +5,7 @@
* Author(s): Peter Oberparleiter <peter.oberparleiter@de.ibm.com>
*/
-#include <linux/slab.h>
+#include <linux/vmalloc.h>
#include <linux/bitops.h>
#include "idset.h"
#include "css.h"
@@ -25,18 +25,18 @@ static struct idset *idset_new(int num_ssid, int num_id)
{
struct idset *set;
- set = kzalloc(sizeof(struct idset) + bitmap_size(num_ssid, num_id),
- GFP_KERNEL);
+ set = vmalloc(sizeof(struct idset) + bitmap_size(num_ssid, num_id));
if (set) {
set->num_ssid = num_ssid;
set->num_id = num_id;
+ memset(set->bitmap, 0, bitmap_size(num_ssid, num_id));
}
return set;
}
void idset_free(struct idset *set)
{
- kfree(set);
+ vfree(set);
}
void idset_clear(struct idset *set)