aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2009-01-06 11:20:47 -0500
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2009-01-06 11:20:47 -0500
commitb46f205da647608a4064ce0a0acb07a8c74c6f23 (patch)
treec1a21b678e00388e81ef64d97325d0de09c9abae /drivers/ide
parent238c6d54830c624f34ac9cf123ac04aebfca5013 (diff)
ide: fix LOCKDEP warning
commit 295f00042aaf6b553b5f37348f89bab463d4a469 ("ide: don't execute the next queued command from the hard-IRQ context") overlooked that ide_do_drive_cmd() (used for REQUEST SENSE command handling) may still invoke do_ide_request() (->request_fn) in the hard-IRQ context through blk_start_queueing(). This resulted in a LOCKDEP warning after commit b599bc7a1199419e122cb2e9ec6b0fa2cfbbc17b ("ide: use per-device request queue locks (v2)"). Since calling blk_start_queuing() in ide_do_drive_cmd() doesn't make much sense as the port is already marked as busy (so the execution of the new command will be deferred anyway) then just remove it fixing LOCKDEP warning and saving some CPU cycles at the same time. Reported-and-tested-by: Larry Finger <Larry.Finger@lwfinger.net> Reported-by: Grissiom <chaos.proton@gmail.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide')
-rw-r--r--drivers/ide/ide-io.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/drivers/ide/ide-io.c b/drivers/ide/ide-io.c
index 1c36a8e83d36..c3cbe5a1e307 100644
--- a/drivers/ide/ide-io.c
+++ b/drivers/ide/ide-io.c
@@ -1197,7 +1197,6 @@ void ide_do_drive_cmd(ide_drive_t *drive, struct request *rq)
1197 1197
1198 spin_lock_irqsave(q->queue_lock, flags); 1198 spin_lock_irqsave(q->queue_lock, flags);
1199 __elv_add_request(q, rq, ELEVATOR_INSERT_FRONT, 0); 1199 __elv_add_request(q, rq, ELEVATOR_INSERT_FRONT, 0);
1200 blk_start_queueing(q);
1201 spin_unlock_irqrestore(q->queue_lock, flags); 1200 spin_unlock_irqrestore(q->queue_lock, flags);
1202} 1201}
1203EXPORT_SYMBOL(ide_do_drive_cmd); 1202EXPORT_SYMBOL(ide_do_drive_cmd);