summaryrefslogtreecommitdiffstats
path: root/drivers/media/video/videobuf-dma-sg.c
diff options
context:
space:
mode:
authorChristophe Jaillet <jaillet.christophe@wanadoo.fr>2008-07-04 06:33:22 -0300
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-07-20 07:19:10 -0300
commita47cacbd869b67ce16981ad5a0b06e4eac2efaff (patch)
tree936ba20bf1c5395e94ab95ce2cdd78801898a2fe /drivers/media/video/videobuf-dma-sg.c
parenta8a89b7f60f18c2517c3b950f5ecede0626363eb (diff)
downloadlinux-a47cacbd869b67ce16981ad5a0b06e4eac2efaff.tar.gz
linux-a47cacbd869b67ce16981ad5a0b06e4eac2efaff.tar.bz2
linux-a47cacbd869b67ce16981ad5a0b06e4eac2efaff.zip
V4L/DVB (8252): buf-dma-sg.c: avoid clearing memory twice
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 'drivers/media/video/videobuf-dma-sg.c')
-rw-r--r--drivers/media/video/videobuf-dma-sg.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/media/video/videobuf-dma-sg.c b/drivers/media/video/videobuf-dma-sg.c
index 03a7b946bd54..8ed60827d350 100644
--- a/drivers/media/video/videobuf-dma-sg.c
+++ b/drivers/media/video/videobuf-dma-sg.c
@@ -80,17 +80,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;