]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blobdiff - drivers/mmc/card/block.c
block: add a separate operation type for secure erase
[mirror_ubuntu-bionic-kernel.git] / drivers / mmc / card / block.c
index bca20f88a8b2a16d0491d2bf9f37492967d1c2ab..383184743f9a73c4771f93d085620e376ad7f6f4 100644 (file)
@@ -2167,10 +2167,12 @@ 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)
-                       ret = mmc_blk_issue_secdiscard_rq(mq, req);
-               else
-                       ret = mmc_blk_issue_discard_rq(mq, req);
+               ret = mmc_blk_issue_discard_rq(mq, req);
+       } else if (req && req_op(req) == REQ_OP_SECURE_ERASE) {
+               /* complete ongoing async transfer before issuing secure erase*/
+               if (card->host->areq)
+                       mmc_blk_issue_rw_rq(mq, NULL);
+               ret = mmc_blk_issue_secdiscard_rq(mq, req);
        } else if (req && req_op(req) == REQ_OP_FLUSH) {
                /* complete ongoing async transfer before issuing flush */
                if (card->host->areq)