V4L/DVB (8884): em28xx-audio: fix memory leak

Free allocated memory

Signed-off-by: Douglas Schilling Landgraf <dougsland@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

authored by

Douglas Schilling Landgraf and committed by
Mauro Carvalho Chehab
ff9b3e43 ff41efcf

+7 -1
+7 -1
drivers/media/video/em28xx/em28xx-audio.c
··· 161 161 162 162 memset(dev->adev->transfer_buffer[i], 0x80, sb_size); 163 163 urb = usb_alloc_urb(EM28XX_NUM_AUDIO_PACKETS, GFP_ATOMIC); 164 - if (!urb) 164 + if (!urb) { 165 + em28xx_errdev("usb_alloc_urb failed!\n"); 166 + for (j = 0; j < i; j++) { 167 + usb_free_urb(dev->adev->urb[j]); 168 + kfree(dev->adev->transfer_buffer[j]); 169 + } 165 170 return -ENOMEM; 171 + } 166 172 167 173 urb->dev = dev->udev; 168 174 urb->context = dev;