diff options
Diffstat (limited to 'drivers/mmc')
-rw-r--r-- | drivers/mmc/card/block.c | 6 | ||||
-rw-r--r-- | drivers/mmc/core/core.c | 3 |
2 files changed, 5 insertions, 4 deletions
diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c index 452782bffebc..ede41f05c392 100644 --- a/drivers/mmc/card/block.c +++ b/drivers/mmc/card/block.c | |||
@@ -2028,8 +2028,7 @@ static int mmc_blk_issue_rq(struct mmc_queue *mq, struct request *req) | |||
2028 | /* complete ongoing async transfer before issuing discard */ | 2028 | /* complete ongoing async transfer before issuing discard */ |
2029 | if (card->host->areq) | 2029 | if (card->host->areq) |
2030 | mmc_blk_issue_rw_rq(mq, NULL); | 2030 | mmc_blk_issue_rw_rq(mq, NULL); |
2031 | if (req->cmd_flags & REQ_SECURE && | 2031 | if (req->cmd_flags & REQ_SECURE) |
2032 | !(card->quirks & MMC_QUIRK_SEC_ERASE_TRIM_BROKEN)) | ||
2033 | ret = mmc_blk_issue_secdiscard_rq(mq, req); | 2032 | ret = mmc_blk_issue_secdiscard_rq(mq, req); |
2034 | else | 2033 | else |
2035 | ret = mmc_blk_issue_discard_rq(mq, req); | 2034 | ret = mmc_blk_issue_discard_rq(mq, req); |
@@ -2432,6 +2431,8 @@ static int mmc_blk_probe(struct mmc_card *card) | |||
2432 | if (!(card->csd.cmdclass & CCC_BLOCK_READ)) | 2431 | if (!(card->csd.cmdclass & CCC_BLOCK_READ)) |
2433 | return -ENODEV; | 2432 | return -ENODEV; |
2434 | 2433 | ||
2434 | mmc_fixup_device(card, blk_fixups); | ||
2435 | |||
2435 | md = mmc_blk_alloc(card); | 2436 | md = mmc_blk_alloc(card); |
2436 | if (IS_ERR(md)) | 2437 | if (IS_ERR(md)) |
2437 | return PTR_ERR(md); | 2438 | return PTR_ERR(md); |
@@ -2446,7 +2447,6 @@ static int mmc_blk_probe(struct mmc_card *card) | |||
2446 | goto out; | 2447 | goto out; |
2447 | 2448 | ||
2448 | mmc_set_drvdata(card, md); | 2449 | mmc_set_drvdata(card, md); |
2449 | mmc_fixup_device(card, blk_fixups); | ||
2450 | 2450 | ||
2451 | if (mmc_add_disk(md)) | 2451 | if (mmc_add_disk(md)) |
2452 | goto out; | 2452 | goto out; |
diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c index 7dc0c85fdb60..d03a080fb9cd 100644 --- a/drivers/mmc/core/core.c +++ b/drivers/mmc/core/core.c | |||
@@ -2102,7 +2102,8 @@ EXPORT_SYMBOL(mmc_can_sanitize); | |||
2102 | 2102 | ||
2103 | int mmc_can_secure_erase_trim(struct mmc_card *card) | 2103 | int mmc_can_secure_erase_trim(struct mmc_card *card) |
2104 | { | 2104 | { |
2105 | if (card->ext_csd.sec_feature_support & EXT_CSD_SEC_ER_EN) | 2105 | if ((card->ext_csd.sec_feature_support & EXT_CSD_SEC_ER_EN) && |
2106 | !(card->quirks & MMC_QUIRK_SEC_ERASE_TRIM_BROKEN)) | ||
2106 | return 1; | 2107 | return 1; |
2107 | return 0; | 2108 | return 0; |
2108 | } | 2109 | } |