Loading drivers/mmc/card/block.c +1 −1 Original line number Diff line number Diff line Loading @@ -3699,7 +3699,7 @@ static struct mmc_blk_data *mmc_blk_alloc_req(struct mmc_card *card, INIT_LIST_HEAD(&md->part); md->usage = 1; ret = mmc_init_queue(&md->queue, card, &md->lock, subname, area_type); ret = mmc_init_queue(&md->queue, card, NULL, subname, area_type); if (ret) goto err_putdisk; Loading drivers/mmc/card/queue.c +11 −7 Original line number Diff line number Diff line Loading @@ -718,15 +718,13 @@ int mmc_queue_suspend(struct mmc_queue *mq, int wait) if (wait) { /* * After blk_stop_queue is called, wait for all * After blk_cleanup_queue is called, wait for all * active_reqs to complete. * Then wait for cmdq thread to exit before calling * cmdq shutdown to avoid race between issuing * requests and shutdown of cmdq. */ spin_lock_irqsave(q->queue_lock, flags); blk_stop_queue(q); spin_unlock_irqrestore(q->queue_lock, flags); blk_cleanup_queue(q); if (host->cmdq_ctx.active_reqs) wait_for_completion( Loading @@ -751,9 +749,15 @@ int mmc_queue_suspend(struct mmc_queue *mq, int wait) } if (!(test_and_set_bit(MMC_QUEUE_SUSPENDED, &mq->flags))) { if (!wait) { /* suspend/stop the queue in case of suspend */ spin_lock_irqsave(q->queue_lock, flags); blk_stop_queue(q); spin_unlock_irqrestore(q->queue_lock, flags); } else { /* shutdown the queue in case of shutdown/reboot */ blk_cleanup_queue(q); } rc = down_trylock(&mq->thread_sem); if (rc && !wait) { Loading Loading
drivers/mmc/card/block.c +1 −1 Original line number Diff line number Diff line Loading @@ -3699,7 +3699,7 @@ static struct mmc_blk_data *mmc_blk_alloc_req(struct mmc_card *card, INIT_LIST_HEAD(&md->part); md->usage = 1; ret = mmc_init_queue(&md->queue, card, &md->lock, subname, area_type); ret = mmc_init_queue(&md->queue, card, NULL, subname, area_type); if (ret) goto err_putdisk; Loading
drivers/mmc/card/queue.c +11 −7 Original line number Diff line number Diff line Loading @@ -718,15 +718,13 @@ int mmc_queue_suspend(struct mmc_queue *mq, int wait) if (wait) { /* * After blk_stop_queue is called, wait for all * After blk_cleanup_queue is called, wait for all * active_reqs to complete. * Then wait for cmdq thread to exit before calling * cmdq shutdown to avoid race between issuing * requests and shutdown of cmdq. */ spin_lock_irqsave(q->queue_lock, flags); blk_stop_queue(q); spin_unlock_irqrestore(q->queue_lock, flags); blk_cleanup_queue(q); if (host->cmdq_ctx.active_reqs) wait_for_completion( Loading @@ -751,9 +749,15 @@ int mmc_queue_suspend(struct mmc_queue *mq, int wait) } if (!(test_and_set_bit(MMC_QUEUE_SUSPENDED, &mq->flags))) { if (!wait) { /* suspend/stop the queue in case of suspend */ spin_lock_irqsave(q->queue_lock, flags); blk_stop_queue(q); spin_unlock_irqrestore(q->queue_lock, flags); } else { /* shutdown the queue in case of shutdown/reboot */ blk_cleanup_queue(q); } rc = down_trylock(&mq->thread_sem); if (rc && !wait) { Loading