aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/block/floppy.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/drivers/block/floppy.c b/drivers/block/floppy.c
index 7d1cd21a0ebc..7c0c7d09e089 100644
--- a/drivers/block/floppy.c
+++ b/drivers/block/floppy.c
@@ -1198,8 +1198,6 @@ static int output_byte(char byte)
1198 return -1; 1198 return -1;
1199} 1199}
1200 1200
1201#define LAST_OUT(x) if (output_byte(x)<0){ reset_fdc();return;}
1202
1203/* gets the response from the fdc */ 1201/* gets the response from the fdc */
1204static int result(void) 1202static int result(void)
1205{ 1203{
@@ -1679,7 +1677,10 @@ static void seek_floppy(void)
1679 do_floppy = seek_interrupt; 1677 do_floppy = seek_interrupt;
1680 output_byte(FD_SEEK); 1678 output_byte(FD_SEEK);
1681 output_byte(UNIT(current_drive)); 1679 output_byte(UNIT(current_drive));
1682 LAST_OUT(track); 1680 if (output_byte(track) < 0) {
1681 reset_fdc();
1682 return;
1683 }
1683 debugt("seek command:"); 1684 debugt("seek command:");
1684} 1685}
1685 1686
@@ -1809,7 +1810,10 @@ static void recalibrate_floppy(void)
1809 debugt("recalibrate floppy:"); 1810 debugt("recalibrate floppy:");
1810 do_floppy = recal_interrupt; 1811 do_floppy = recal_interrupt;
1811 output_byte(FD_RECALIBRATE); 1812 output_byte(FD_RECALIBRATE);
1812 LAST_OUT(UNIT(current_drive)); 1813 if (output_byte(UNIT(current_drive)) < 0) {
1814 reset_fdc();
1815 return;
1816 }
1813} 1817}
1814 1818
1815/* 1819/*