}
/* disable CQ mode in card */
- err = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL,
- EXT_CSD_CMDQ, 0,
- card->ext_csd.generic_cmd6_time);
- if (err) {
- pr_err("%s: failed to switch card to legacy mode: %d\n",
- __func__, err);
- goto out;
- } else {
+ if (mmc_card_cmdq(card)) {
+ err = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL,
+ EXT_CSD_CMDQ, 0,
+ card->ext_csd.generic_cmd6_time);
+ if (err) {
+ pr_err("%s: failed to switch card to legacy mode: %d\n",
+ __func__, err);
+ goto out;
+ }
mmc_card_clr_cmdq(card);
- host->cmdq_ops->disable(host, false);
- host->card->cmdq_init = false;
}
+ host->cmdq_ops->disable(host, false);
+ host->card->cmdq_init = false;
out:
mmc_host_clk_release(host);
mmc_put_card(card);