diff options
-rw-r--r-- | drivers/video/tegra/host/nvhost_job.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/video/tegra/host/nvhost_job.c b/drivers/video/tegra/host/nvhost_job.c index c7e700fce264..e0aa39fafc42 100644 --- a/drivers/video/tegra/host/nvhost_job.c +++ b/drivers/video/tegra/host/nvhost_job.c @@ -23,6 +23,7 @@ #include <linux/slab.h> #include <linux/kref.h> #include <linux/err.h> +#include <linux/vmalloc.h> #include <mach/nvmap.h> #include "nvhost_channel.h" #include "nvhost_job.h" @@ -175,7 +176,7 @@ struct nvhost_job *nvhost_job_alloc(struct nvhost_channel *ch, int num_cmdbufs = hdr ? hdr->num_cmdbufs : 0; int err = 0; - job = kzalloc(job_size(hdr), GFP_KERNEL); + job = vzalloc(job_size(hdr)); if (!job) goto error; @@ -208,7 +209,7 @@ struct nvhost_job *nvhost_job_realloc( int num_cmdbufs = hdr ? hdr->num_cmdbufs : 0; int err = 0; - newjob = kzalloc(job_size(hdr), GFP_KERNEL); + newjob = vzalloc(job_size(hdr)); if (!newjob) goto error; kref_init(&newjob->ref); @@ -250,7 +251,7 @@ static void job_free(struct kref *ref) nvmap_free(job->nvmap, job->gather_mem); if (job->nvmap) nvmap_client_put(job->nvmap); - kfree(job); + vfree(job); } void nvhost_job_put(struct nvhost_job *job) |