]> pilppa.com Git - linux-2.6-omap-h63xx.git/commitdiff
V4L/DVB (8886): ov511: fix memory leak
authorDouglas Schilling Landgraf <dougsland@linuxtv.org>
Thu, 4 Sep 2008 14:21:58 +0000 (11:21 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 29 Sep 2008 11:26:16 +0000 (08:26 -0300)
Free allocated memory

Cc: Luca Risolia <luca.risolia@studio.unibo.it>
Signed-off-by: Douglas Schilling Landgraf <dougsland@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/ov511.c

index 3d3c48db45d958c4813e8dc2c0ea850a356b796a..2576ded2b9c57498da14af8f82a37cc1fe98c8b3 100644 (file)
@@ -3591,7 +3591,7 @@ static int
 ov51x_init_isoc(struct usb_ov511 *ov)
 {
        struct urb *urb;
-       int fx, err, n, size;
+       int fx, err, n, i, size;
 
        PDEBUG(3, "*** Initializing capture ***");
 
@@ -3662,6 +3662,8 @@ ov51x_init_isoc(struct usb_ov511 *ov)
                urb = usb_alloc_urb(FRAMES_PER_DESC, GFP_KERNEL);
                if (!urb) {
                        err("init isoc: usb_alloc_urb ret. NULL");
+                       for (i = 0; i < n; i++)
+                               usb_free_urb(ov->sbuf[i].urb);
                        return -ENOMEM;
                }
                ov->sbuf[n].urb = urb;