aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/common/siano/smscoreapi.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/drivers/media/common/siano/smscoreapi.c b/drivers/media/common/siano/smscoreapi.c
index dbe9b4d9b799..a142f7942a01 100644
--- a/drivers/media/common/siano/smscoreapi.c
+++ b/drivers/media/common/siano/smscoreapi.c
@@ -1173,15 +1173,16 @@ static int smscore_load_firmware_from_file(struct smscore_device_t *coredev,
1173 GFP_KERNEL | GFP_DMA); 1173 GFP_KERNEL | GFP_DMA);
1174 if (!fw_buf) { 1174 if (!fw_buf) {
1175 sms_err("failed to allocate firmware buffer"); 1175 sms_err("failed to allocate firmware buffer");
1176 return -ENOMEM; 1176 rc = -ENOMEM;
1177 } 1177 } else {
1178 memcpy(fw_buf, fw->data, fw->size); 1178 memcpy(fw_buf, fw->data, fw->size);
1179 fw_buf_size = fw->size; 1179 fw_buf_size = fw->size;
1180 1180
1181 rc = (coredev->device_flags & SMS_DEVICE_FAMILY2) ? 1181 rc = (coredev->device_flags & SMS_DEVICE_FAMILY2) ?
1182 smscore_load_firmware_family2(coredev, fw_buf, fw_buf_size) 1182 smscore_load_firmware_family2(coredev, fw_buf, fw_buf_size)
1183 : loadfirmware_handler(coredev->context, fw_buf, 1183 : loadfirmware_handler(coredev->context, fw_buf,
1184 fw_buf_size); 1184 fw_buf_size);
1185 }
1185 1186
1186 kfree(fw_buf); 1187 kfree(fw_buf);
1187 release_firmware(fw); 1188 release_firmware(fw);