aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/ide-io.c
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2009-03-27 07:46:36 -0400
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2009-03-27 07:46:36 -0400
commit3ee38302ffc63da93eb0313053a990bb3466e275 (patch)
treeb8d66e808fd6d55972adc29ce072deaf2483af6c /drivers/ide/ide-io.c
parent313afea7f25cc6d420179e0b316499c164e3e372 (diff)
ide: remove ->end_request method
* Handle completion of private driver requests explicitly for ide_floppy and ide_tape media in ide_kill_rq(). * Remove no longer needed ->end_request method. There should be no functional changes caused by this patch. Acked-by: Borislav Petkov <petkovbb@gmail.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide/ide-io.c')
-rw-r--r--drivers/ide/ide-io.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/ide/ide-io.c b/drivers/ide/ide-io.c
index da2f97dfa8f8..6eee41beec73 100644
--- a/drivers/ide/ide-io.c
+++ b/drivers/ide/ide-io.c
@@ -178,17 +178,17 @@ EXPORT_SYMBOL(ide_complete_rq);
178 178
179void ide_kill_rq(ide_drive_t *drive, struct request *rq) 179void ide_kill_rq(ide_drive_t *drive, struct request *rq)
180{ 180{
181 u8 drv_req = blk_special_request(rq) && rq->rq_disk;
182 u8 media = drive->media;
183
181 drive->failed_pc = NULL; 184 drive->failed_pc = NULL;
182 185
183 if (drive->media == ide_tape) 186 if ((media == ide_floppy && drv_req) || media == ide_tape)
184 rq->errors = IDE_DRV_ERROR_GENERAL; 187 rq->errors = IDE_DRV_ERROR_GENERAL;
185 188
186 if (blk_special_request(rq) && rq->rq_disk) { 189 if ((media == ide_floppy || media == ide_tape) && drv_req)
187 struct ide_driver *drv; 190 ide_complete_rq(drive, 0);
188 191 else
189 drv = *(struct ide_driver **)rq->rq_disk->private_data;
190 drv->end_request(drive, 0, 0);
191 } else
192 ide_end_request(drive, 0, 0); 192 ide_end_request(drive, 0, 0);
193} 193}
194 194