aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/ide-io.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ide/ide-io.c')
-rw-r--r--drivers/ide/ide-io.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/ide/ide-io.c b/drivers/ide/ide-io.c
index 38076169b893..da2f97dfa8f8 100644
--- a/drivers/ide/ide-io.c
+++ b/drivers/ide/ide-io.c
@@ -178,7 +178,12 @@ 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 if (rq->rq_disk) { 181 drive->failed_pc = NULL;
182
183 if (drive->media == ide_tape)
184 rq->errors = IDE_DRV_ERROR_GENERAL;
185
186 if (blk_special_request(rq) && rq->rq_disk) {
182 struct ide_driver *drv; 187 struct ide_driver *drv;
183 188
184 drv = *(struct ide_driver **)rq->rq_disk->private_data; 189 drv = *(struct ide_driver **)rq->rq_disk->private_data;