> @@ -1244,6 +1249,25 @@ static int mmc_init_card(struct mmc_host *host, u32
> ocr,
> }
> }
>
> + if ((host->caps2 & MMC_CAP2_PACKED_CMD) &&
> + (card->ext_csd.max_packed_writes > 0) &&
> + (card->ext_csd.max_packed_reads > 0)) {
> + err = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL,
> + EXT_CSD_EXP_EVENTS_CTRL,
> + EXT_CSD_PACKED_EVENT_EN,
> + card->ext_csd.generic_cmd6_time);
> + if (err && err != -EBADMSG)
> + goto free_card;
> + if (err) {
> + pr_warning("%s: Enabling packed event failed\n",
> + mmc_hostname(card->host));
> + card->ext_csd.packed_event_en = 0;
> + err = 0;
> + } else {
> + card->ext_csd.packed_event_en = 1;
> + }
> + }
> +
The above shoud not be performed in case of resume. Therefore it needs to
be done only if (!oldcard)
Thanks,
Maya Erez
Consultant for Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html