X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=kernel%2Fdrivers%2Fstaging%2Fgdm72xx%2Fusb_boot.c;fp=kernel%2Fdrivers%2Fstaging%2Fgdm72xx%2Fusb_boot.c;h=39ca34031a6b7d662d0c071a51e0a4e3cc967ce3;hb=e09b41010ba33a20a87472ee821fa407a5b8da36;hp=3ccc447730e88b23206e261745ffadfd4d01585e;hpb=f93b97fd65072de626c074dbe099a1fff05ce060;p=kvmfornfv.git diff --git a/kernel/drivers/staging/gdm72xx/usb_boot.c b/kernel/drivers/staging/gdm72xx/usb_boot.c index 3ccc44773..39ca34031 100644 --- a/kernel/drivers/staging/gdm72xx/usb_boot.c +++ b/kernel/drivers/staging/gdm72xx/usb_boot.c @@ -159,8 +159,10 @@ int usb_boot(struct usb_device *usbdev, u16 pid) } tx_buf = kmalloc(DOWNLOAD_SIZE, GFP_KERNEL); - if (tx_buf == NULL) + if (!tx_buf) { + release_firmware(firm); return -ENOMEM; + } if (firm->size < sizeof(hdr)) { dev_err(&usbdev->dev, "Cannot read the image info.\n"); @@ -285,8 +287,10 @@ static int em_download_image(struct usb_device *usbdev, const char *img_name, } buf = kmalloc(DOWNLOAD_CHUCK + pad_size, GFP_KERNEL); - if (buf == NULL) + if (!buf) { + release_firmware(firm); return -ENOMEM; + } strcpy(buf+pad_size, type_string); ret = gdm_wibro_send(usbdev, buf, strlen(type_string)+pad_size);