mmc_test now uses mmc_start_request() to test sending commands during
"ongoing" asynchronous transfers, i.e. tests:
	Commands during non-blocking read - use Set Block Count (CMD23)
	Commands during non-blocking write - use Set Block Count (CMD23)
mmc_start_request() was not initializing cmd_completion, but cmd_completion
is used by "ongoing" transfers, so move initialization of cmd_completion
into making mmc_start_request().
Fixes: cb39f61e9b1e ("mmc: core: Export a few functions needed for blkmq support")
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
 {
        int err;
 
+       init_completion(&mrq->cmd_completion);
+
        mmc_retune_hold(host);
 
        if (mmc_card_removed(host->card))
        mrq->done = mmc_wait_data_done;
        mrq->host = host;
 
-       init_completion(&mrq->cmd_completion);
-
        err = mmc_start_request(host, mrq);
        if (err) {
                mrq->cmd->error = err;
        init_completion(&mrq->completion);
        mrq->done = mmc_wait_done;
 
-       init_completion(&mrq->cmd_completion);
-
        err = mmc_start_request(host, mrq);
        if (err) {
                mrq->cmd->error = err;