#include <linux/export.h>
#include <linux/slab.h>
#include <linux/sched/signal.h>
-#include <linux/vmalloc.h>
+#include <linux/mm.h>
#include <sound/core.h>
#include <sound/seq_kernel.h>
if (snd_BUG_ON(!pool))
return -EINVAL;
- cellptr = vmalloc(array_size(sizeof(struct snd_seq_event_cell),
- pool->size));
+ cellptr = kvmalloc_array(sizeof(struct snd_seq_event_cell), pool->size,
+ GFP_KERNEL);
if (!cellptr)
return -ENOMEM;
spin_lock_irqsave(&pool->lock, flags);
if (pool->ptr) {
spin_unlock_irqrestore(&pool->lock, flags);
- vfree(cellptr);
+ kvfree(cellptr);
return 0;
}
pool->total_elements = 0;
spin_unlock_irqrestore(&pool->lock, flags);
- vfree(ptr);
+ kvfree(ptr);
spin_lock_irqsave(&pool->lock, flags);
pool->closing = 0;