mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-19 18:53:52 +08:00
ide: don't acquire queue lock in ide_pm_execute_rq
There is nothing we can synchronize against over a call to blk_queue_dying. Reviewed-by: Omar Sandoval <osandov@fb.com> Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
a50f9aec1a
commit
b2101f655f
@ -44,15 +44,12 @@ static int ide_pm_execute_rq(struct request *rq)
|
|||||||
{
|
{
|
||||||
struct request_queue *q = rq->q;
|
struct request_queue *q = rq->q;
|
||||||
|
|
||||||
spin_lock_irq(&q->queue_lock);
|
|
||||||
if (unlikely(blk_queue_dying(q))) {
|
if (unlikely(blk_queue_dying(q))) {
|
||||||
rq->rq_flags |= RQF_QUIET;
|
rq->rq_flags |= RQF_QUIET;
|
||||||
scsi_req(rq)->result = -ENXIO;
|
scsi_req(rq)->result = -ENXIO;
|
||||||
spin_unlock_irq(&q->queue_lock);
|
|
||||||
blk_mq_end_request(rq, BLK_STS_OK);
|
blk_mq_end_request(rq, BLK_STS_OK);
|
||||||
return -ENXIO;
|
return -ENXIO;
|
||||||
}
|
}
|
||||||
spin_unlock_irq(&q->queue_lock);
|
|
||||||
blk_execute_rq(q, NULL, rq, true);
|
blk_execute_rq(q, NULL, rq, true);
|
||||||
|
|
||||||
return scsi_req(rq)->result ? -EIO : 0;
|
return scsi_req(rq)->result ? -EIO : 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user