aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/ide-atapi.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ide/ide-atapi.c')
-rw-r--r--drivers/ide/ide-atapi.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/ide/ide-atapi.c b/drivers/ide/ide-atapi.c
index 6789b81ea78d..0c4f45247d86 100644
--- a/drivers/ide/ide-atapi.c
+++ b/drivers/ide/ide-atapi.c
@@ -31,7 +31,10 @@ ide_startstop_t ide_pc_intr(ide_drive_t *drive, struct ide_atapi_pc *pc,
31 debug_log("Enter %s - interrupt handler\n", __func__); 31 debug_log("Enter %s - interrupt handler\n", __func__);
32 32
33 if (pc->flags & PC_FLAG_TIMEDOUT) { 33 if (pc->flags & PC_FLAG_TIMEDOUT) {
34 pc->callback(drive); 34 if (drive->media == ide_floppy)
35 drive->pc_callback(drive);
36 else
37 pc->callback(drive);
35 return ide_stopped; 38 return ide_stopped;
36 } 39 }
37 40
@@ -97,7 +100,10 @@ cmd_finished:
97 return ide_stopped; 100 return ide_stopped;
98 } 101 }
99 /* Command finished - Call the callback function */ 102 /* Command finished - Call the callback function */
100 pc->callback(drive); 103 if (drive->media == ide_floppy)
104 drive->pc_callback(drive);
105 else
106 pc->callback(drive);
101 return ide_stopped; 107 return ide_stopped;
102 } 108 }
103 109