diff options
author | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-07-04 06:33:22 +0000 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-07-04 06:33:22 +0000 |
commit | 2fac5bc7bdca8405f6dc8cd3f7dea4f9b4d4b1fa (patch) | |
tree | 20a1479d817ea7928d4aaa5f19576399ace517e9 /linux | |
parent | f03368d89250498c6d9f48b12972121c891e5fe2 (diff) | |
download | mediapointer-dvb-s2-2fac5bc7bdca8405f6dc8cd3f7dea4f9b4d4b1fa.tar.gz mediapointer-dvb-s2-2fac5bc7bdca8405f6dc8cd3f7dea4f9b4d4b1fa.tar.bz2 |
buf-dma-sg.c: avoid clearing memory twice
From: Christophe Jaillet <jaillet.christophe@wanadoo.fr>
1) Remove a useless initialisation of 'i'
2) Avoid clearing the memory allocated twice (once in 'kcalloc', once
in 'sg_init_table')
3) Remove a test that can never trigger. The function returns NULL in
such a case, so we know that at this point 'pages[0]' != NULL
Signed-off-by: Christophe Jaillet <jaillet.christophe@wanadoo.fr>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'linux')
-rw-r--r-- | linux/drivers/media/video/videobuf-dma-sg.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/linux/drivers/media/video/videobuf-dma-sg.c b/linux/drivers/media/video/videobuf-dma-sg.c index 39ae44bda..21194d6fe 100644 --- a/linux/drivers/media/video/videobuf-dma-sg.c +++ b/linux/drivers/media/video/videobuf-dma-sg.c @@ -81,17 +81,15 @@ struct scatterlist* videobuf_pages_to_sg(struct page **pages, int nr_pages, int offset) { struct scatterlist *sglist; - int i = 0; + int i; if (NULL == pages[0]) return NULL; - sglist = kcalloc(nr_pages, sizeof(*sglist), GFP_KERNEL); + sglist = kmalloc(nr_pages * sizeof(*sglist), GFP_KERNEL); if (NULL == sglist) return NULL; sg_init_table(sglist, nr_pages); - if (NULL == pages[0]) - goto nopage; if (PageHighMem(pages[0])) /* DMA to highmem pages might not work */ goto highmem; |