|
@@ -794,7 +794,7 @@ static ide_startstop_t idefloppy_pc_intr (ide_drive_t *drive)
|
|
|
"to send us more data than expected "
|
|
|
"- discarding data\n");
|
|
|
idefloppy_discard_data(drive, bcount);
|
|
|
- BUG_ON(HWGROUP(drive)->handler != NULL);
|
|
|
+
|
|
|
ide_set_handler(drive,
|
|
|
&idefloppy_pc_intr,
|
|
|
IDEFLOPPY_WAIT_CMD,
|
|
@@ -825,7 +825,6 @@ static ide_startstop_t idefloppy_pc_intr (ide_drive_t *drive)
|
|
|
pc->actually_transferred += bcount;
|
|
|
pc->current_position += bcount;
|
|
|
|
|
|
- BUG_ON(HWGROUP(drive)->handler != NULL);
|
|
|
ide_set_handler(drive, &idefloppy_pc_intr, IDEFLOPPY_WAIT_CMD, NULL); /* And set the interrupt handler again */
|
|
|
return ide_started;
|
|
|
}
|
|
@@ -852,7 +851,7 @@ static ide_startstop_t idefloppy_transfer_pc (ide_drive_t *drive)
|
|
|
"issuing a packet command\n");
|
|
|
return ide_do_reset(drive);
|
|
|
}
|
|
|
- BUG_ON(HWGROUP(drive)->handler != NULL);
|
|
|
+
|
|
|
/* Set the interrupt routine */
|
|
|
ide_set_handler(drive, &idefloppy_pc_intr, IDEFLOPPY_WAIT_CMD, NULL);
|
|
|
/* Send the actual packet */
|
|
@@ -908,7 +907,7 @@ static ide_startstop_t idefloppy_transfer_pc1 (ide_drive_t *drive)
|
|
|
* 40 and 50msec work well. idefloppy_pc_intr will not be actually
|
|
|
* used until after the packet is moved in about 50 msec.
|
|
|
*/
|
|
|
- BUG_ON(HWGROUP(drive)->handler != NULL);
|
|
|
+
|
|
|
ide_set_handler(drive,
|
|
|
&idefloppy_pc_intr, /* service routine for packet command */
|
|
|
floppy->ticks, /* wait this long before "failing" */
|