aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2010-03-31 16:13:39 -0400
committerDavid S. Miller <davem@davemloft.net>2010-04-01 04:31:14 -0400
commit1af185034662b75279f90e1c7cb958271d4121e2 (patch)
treed6159d863ecb7854d56f740cc0bec2b37b2dee8a /drivers/ide
parent6072f7491f5ef391a575e18a1165e72a3eef1601 (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.c2
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));