mmc: free allocated memory on initialization errors

Cleanup to balance malloc/free calls.

Signed-off-by: Darwin Rambo <drambo@broadcom.com>
Reviewed-by: Steve Rae <srae@broadcom.com>
Acked-by: Pantelis Antoniou <panto@antoniou-consulting.com>
diff --git a/drivers/mmc/kona_sdhci.c b/drivers/mmc/kona_sdhci.c
index 77e42c8..f804f4c 100644
--- a/drivers/mmc/kona_sdhci.c
+++ b/drivers/mmc/kona_sdhci.c
@@ -113,16 +113,20 @@
 		       __func__, dev_index);
 		ret = -EINVAL;
 	}
-	if (ret)
+	if (ret) {
+		free(host);
 		return ret;
+	}
 
 	host->name = "kona-sdhci";
 	host->ioaddr = reg_base;
 	host->quirks = quirks;
 	host->host_caps = MMC_MODE_HC;
 
-	if (init_kona_mmc_core(host))
+	if (init_kona_mmc_core(host)) {
+		free(host);
 		return -EINVAL;
+	}
 
 	if (quirks & SDHCI_QUIRK_REG32_RW)
 		host->version = sdhci_readl(host, SDHCI_HOST_VERSION - 2) >> 16;