diff options
author | Douglas Schilling Landgraf <dougsland@linuxtv.org> | 2008-09-04 11:21:03 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2008-09-29 08:26:10 -0300 |
commit | beeb82becc5cdd88766b4ec21f13952e2af03324 (patch) | |
tree | 356cafa4213910b75c3477bdc8c2d5dd6d54fe43 | |
parent | ff9b3e430b04e00dd2d29a26ae9438d7044a51db (diff) | |
download | linux-beeb82becc5cdd88766b4ec21f13952e2af03324.tar.gz linux-beeb82becc5cdd88766b4ec21f13952e2af03324.tar.bz2 linux-beeb82becc5cdd88766b4ec21f13952e2af03324.zip |
V4L/DVB (8885): cpia2_usb: fix memory leak
Free allocated memory
Signed-off-by: Douglas Schilling Landgraf <dougsland@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r-- | drivers/media/video/cpia2/cpia2_usb.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/media/video/cpia2/cpia2_usb.c b/drivers/media/video/cpia2/cpia2_usb.c index a4574740350d..a8a199047cbd 100644 --- a/drivers/media/video/cpia2/cpia2_usb.c +++ b/drivers/media/video/cpia2/cpia2_usb.c @@ -632,7 +632,7 @@ int cpia2_usb_transfer_cmd(struct camera_data *cam, static int submit_urbs(struct camera_data *cam) { struct urb *urb; - int fx, err, i; + int fx, err, i, j; for(i=0; i<NUM_SBUF; ++i) { if (cam->sbuf[i].data) @@ -657,6 +657,9 @@ static int submit_urbs(struct camera_data *cam) } urb = usb_alloc_urb(FRAMES_PER_DESC, GFP_KERNEL); if (!urb) { + ERR("%s: usb_alloc_urb error!\n", __func__); + for (j = 0; j < i; j++) + usb_free_urb(cam->sbuf[j].urb); return -ENOMEM; } |