diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2010-03-31 16:13:39 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-04-01 04:31:14 -0400 |
commit | 1af185034662b75279f90e1c7cb958271d4121e2 (patch) | |
tree | d6159d863ecb7854d56f740cc0bec2b37b2dee8a /drivers/ide | |
parent | 6072f7491f5ef391a575e18a1165e72a3eef1601 (diff) |
ide: Must hold queue lock when requeueing
ide-atapi requeues requests without holding the queue lock.
This patch fixes it by using ide_requeue_and_plug.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/ide')
-rw-r--r-- | drivers/ide/ide-atapi.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/ide/ide-atapi.c b/drivers/ide/ide-atapi.c index eb2181a6a11c..9aedb9aa544f 100644 --- a/drivers/ide/ide-atapi.c +++ b/drivers/ide/ide-atapi.c | |||
@@ -263,8 +263,8 @@ void ide_retry_pc(ide_drive_t *drive) | |||
263 | * of it. The failed command will be retried after sense data | 263 | * of it. The failed command will be retried after sense data |
264 | * is acquired. | 264 | * is acquired. |
265 | */ | 265 | */ |
266 | blk_requeue_request(failed_rq->q, failed_rq); | ||
267 | drive->hwif->rq = NULL; | 266 | drive->hwif->rq = NULL; |
267 | ide_requeue_and_plug(drive, failed_rq); | ||
268 | if (ide_queue_sense_rq(drive, pc)) { | 268 | if (ide_queue_sense_rq(drive, pc)) { |
269 | blk_start_request(failed_rq); | 269 | blk_start_request(failed_rq); |
270 | ide_complete_rq(drive, -EIO, blk_rq_bytes(failed_rq)); | 270 | ide_complete_rq(drive, -EIO, blk_rq_bytes(failed_rq)); |