|
@@ -2028,8 +2028,7 @@ static int mmc_blk_issue_rq(struct mmc_queue *mq, struct request *req)
|
|
|
/* complete ongoing async transfer before issuing discard */
|
|
|
if (card->host->areq)
|
|
|
mmc_blk_issue_rw_rq(mq, NULL);
|
|
|
- if (req->cmd_flags & REQ_SECURE &&
|
|
|
- !(card->quirks & MMC_QUIRK_SEC_ERASE_TRIM_BROKEN))
|
|
|
+ if (req->cmd_flags & REQ_SECURE)
|
|
|
ret = mmc_blk_issue_secdiscard_rq(mq, req);
|
|
|
else
|
|
|
ret = mmc_blk_issue_discard_rq(mq, req);
|
|
@@ -2432,6 +2431,8 @@ static int mmc_blk_probe(struct mmc_card *card)
|
|
|
if (!(card->csd.cmdclass & CCC_BLOCK_READ))
|
|
|
return -ENODEV;
|
|
|
|
|
|
+ mmc_fixup_device(card, blk_fixups);
|
|
|
+
|
|
|
md = mmc_blk_alloc(card);
|
|
|
if (IS_ERR(md))
|
|
|
return PTR_ERR(md);
|
|
@@ -2446,7 +2447,6 @@ static int mmc_blk_probe(struct mmc_card *card)
|
|
|
goto out;
|
|
|
|
|
|
mmc_set_drvdata(card, md);
|
|
|
- mmc_fixup_device(card, blk_fixups);
|
|
|
|
|
|
if (mmc_add_disk(md))
|
|
|
goto out;
|