[PATCH 1/1] drivers/media/video/videobuf-dma-sg.c: avoid to clear memory twice

JAILLET Christophe
2008-06-08T22:15:21Z

From: Christophe Jaillet <jaillet.﻿christophe@wanadoo.fr>

Hi, here is a patch against linux/drivers/usb/atm/cxacru.c which :

1) Remove a useless initialisation of 'i'
2) Avoid to clear 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>

---

diff --git a/drivers/media/video/videobuf-dma-sg.c
b/drivers/media/video/videobuf-dma-sg.c
index 03a7b94..8ed6082 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;