platform: msm_shared: Use erase timeout from card

Calculate erase timeout value as per the spec & use this value
to timeout after erase command is issued. Without this we see
premature erase timeouts.

CRs-Fixed: 631254
Change-Id: Ie9721ca0b37d25c308599d2e304962595091c19c
diff --git a/platform/msm_shared/sdhci.c b/platform/msm_shared/sdhci.c
index eeb47fc..a278dea 100644
--- a/platform/msm_shared/sdhci.c
+++ b/platform/msm_shared/sdhci.c
@@ -377,6 +377,7 @@
 	uint32_t int_status;
 	uint32_t trans_complete = 0;
 	uint32_t err_status;
+	uint64_t max_trans_retry = (cmd->cmd_timeout ? cmd->cmd_timeout : SDHCI_MAX_TRANS_RETRY);
 
 	do {
 		int_status = REG_READ16(host, SDHCI_NRML_INT_STS_REG);
@@ -449,7 +450,7 @@
 
 			retry++;
 			udelay(1000);
-			if (retry == SDHCI_MAX_TRANS_RETRY) {
+			if (retry == max_trans_retry) {
 				dprintf(CRITICAL, "Error: Transfer never completed\n");
 				ret = 1;
 				goto err;