ide: remove IDE PM hack from do_ide_request()
PATCH 6/6 ide: remove IDE PM hack from do_ide_request()
We now tell block layer that there is still work to do using blk_plug_device() so hack for IDE Power Management can be removed (it was buggy for hwgroups having more than 4 devices anyway).
Signed-off-by Bartlomiej Zolnierkiewicz <[email protected]>
--- drivers/ide/ide-io.c | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-)
drivers/ide/ide-io.c +1 -8
@@ -786,7 +786,6 @@ void do_ide_request(struct request_queueide_hwif_t *hwif;struct request *rq;ide_startstop_t startstop; -int loops =0 ;/* caller must own hwgroup->lock */ BUG_ON (!irqs_disabled ());
@@ -844,7 +843,7 @@ void do_ide_request(struct request_queueif (drive != orig_drive) goto plug_device; -again: + hwif = drive->hwif;if (hwif != hwgroup->hwif) {
@@ -882,16 +881,10 @@ again:* though. I hope that doesn't happen too much, hopefully not * unless the subdriver triggers such a thing in its own PM * state machine. -* -* We count how many times we loop here to make sure we service -* all drives in the hwgroup without looping for ever */ if ((drive->dev_flags &IDE_DFLAG_BLOCKED ) &&blk_pm_request (rq) ==0 && (rq->cmd_flags &REQ_PREEMPT ) ==0 ) { - drive = drive->next ? drive->next : hwgroup->drive; -if (loops++ <4 && !blk_queue_plugged (drive->queue)) - goto again;/* We clear busy, there should be no pending ATA command at this point. */ hwgroup->busy =0 ; goto plug_device;