diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2014-11-29 13:04:46 -0500 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2014-12-03 12:24:10 -0500 |
commit | ca087779edbbc52e364dd901927dbe868ec085fc (patch) | |
tree | d4e8a4a22209a14779374e62f364a02bdcb6fb1b | |
parent | e5f43384be5cf5983f03e3f4c1cb7bbeaba2af3f (diff) | |
download | seabios-ca087779edbbc52e364dd901927dbe868ec085fc.zip seabios-ca087779edbbc52e364dd901927dbe868ec085fc.tar.gz seabios-ca087779edbbc52e364dd901927dbe868ec085fc.tar.bz2 |
floppy: Make sure to yield() during floppy PIO
The floppy Programmed IO code really should yield while the controller
is busy.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
-rw-r--r-- | src/hw/floppy.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/hw/floppy.c b/src/hw/floppy.c index aa8583d..d60362a 100644 --- a/src/hw/floppy.c +++ b/src/hw/floppy.c @@ -244,6 +244,7 @@ floppy_pio(int command, u8 *param) floppy_disable_controller(); return DISK_RET_ETIMEOUT; } + yield(); continue; } if (sts & 0x40) { @@ -277,6 +278,7 @@ floppy_pio(int command, u8 *param) floppy_disable_controller(); return DISK_RET_ETIMEOUT; } + yield(); continue; } if (i >= receive) { |