mmc_erase: Change to correct mmc erase operation

Update CMD36 parameters to send correct data_end and send CMD38
only once to erase the specified erase_groups.

Change-Id: Id4d87003ce82102e95af57d015ca476adf5ecd20
diff --git a/platform/msm_shared/mmc.c b/platform/msm_shared/mmc.c
index b1fc977..124cb9f 100644
--- a/platform/msm_shared/mmc.c
+++ b/platform/msm_shared/mmc.c
@@ -2797,7 +2797,7 @@
 	}
 
 	/* Sending CMD36 */
-	mmc_ret = mmc_boot_send_erase_group_end(&mmc_card, data_end - 1);
+	mmc_ret = mmc_boot_send_erase_group_end(&mmc_card, data_end);
 	if (mmc_ret != MMC_BOOT_E_SUCCESS) {
 		dprintf(CRITICAL, "Error %d: Failure sending erase group end "
 			"command to the card (RCA:%x)\n", mmc_ret,
@@ -2805,18 +2805,16 @@
 		return mmc_ret;
 	}
 
-	for (unsigned long long i = 0; i < loop_count; i++) {
-		/* Sending CMD38 */
-		mmc_ret = mmc_boot_send_erase(&mmc_card);
-		if (mmc_ret != MMC_BOOT_E_SUCCESS) {
-			dprintf(CRITICAL,
-				"Error %d: Failure sending erase command "
-				"to the card (RCA:%x)\n", mmc_ret,
-				mmc_card.rca);
-			return mmc_ret;
+	/* Sending CMD38 */
+	mmc_ret = mmc_boot_send_erase(&mmc_card);
+	if (mmc_ret != MMC_BOOT_E_SUCCESS) {
+		dprintf(CRITICAL,
+			"Error %d: Failure sending erase command "
+			"to the card (RCA:%x)\n", mmc_ret, mmc_card.rca);
+		return mmc_ret;
 
-		}
 	}
+
 	dprintf(CRITICAL, "ERASE SUCCESSFULLY COMPLETED\n");
 	return MMC_BOOT_E_SUCCESS;
 }