summaryrefslogtreecommitdiff
path: root/linux
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@infradead.org>2008-07-04 06:33:22 +0000
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-07-04 06:33:22 +0000
commit2fac5bc7bdca8405f6dc8cd3f7dea4f9b4d4b1fa (patch)
tree20a1479d817ea7928d4aaa5f19576399ace517e9 /linux
parentf03368d89250498c6d9f48b12972121c891e5fe2 (diff)
downloadmediapointer-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.c6
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;