]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blobdiff - drivers/ide/ide-io.c
ide: use ->end_request only for private device driver requests
[mirror_ubuntu-artful-kernel.git] / drivers / ide / ide-io.c
index 38076169b89308d0a9a0c5e284e385f4af4a1768..da2f97dfa8f8d2ee729d1ff6d2b5605dc924aade 100644 (file)
@@ -178,7 +178,12 @@ EXPORT_SYMBOL(ide_complete_rq);
 
 void ide_kill_rq(ide_drive_t *drive, struct request *rq)
 {
-       if (rq->rq_disk) {
+       drive->failed_pc = NULL;
+
+       if (drive->media == ide_tape)
+               rq->errors = IDE_DRV_ERROR_GENERAL;
+
+       if (blk_special_request(rq) && rq->rq_disk) {
                struct ide_driver *drv;
 
                drv = *(struct ide_driver **)rq->rq_disk->private_data;