summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/media/common/siano/smscoreapi.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/media/common/siano/smscoreapi.c b/drivers/media/common/siano/smscoreapi.c
index 5034153ed09c..7302f950c6bd 100644
--- a/drivers/media/common/siano/smscoreapi.c
+++ b/drivers/media/common/siano/smscoreapi.c
@@ -977,13 +977,16 @@ static int smscore_load_firmware_family2(struct smscore_device_t *coredev,
msleep(400);
exit_fw_download:
- sms_debug("rc=%d, postload=0x%p ", rc, coredev->postload_handler);
-
kfree(msg);
- return ((rc >= 0) && coredev->postload_handler) ?
- coredev->postload_handler(coredev->context) :
- rc;
+ if (coredev->postload_handler) {
+ sms_debug("rc=%d, postload=0x%p", rc, coredev->postload_handler);
+ if (rc >= 0)
+ return coredev->postload_handler(coredev->context);
+ }
+
+ sms_debug("rc=%d", rc);
+ return rc;
}