]> xenbits.xensource.com Git - seabios.git/commitdiff
floppy: Make sure to yield() during floppy PIO
authorKevin O'Connor <kevin@koconnor.net>
Sat, 29 Nov 2014 18:04:46 +0000 (13:04 -0500)
committerKevin O'Connor <kevin@koconnor.net>
Wed, 3 Dec 2014 17:24:10 +0000 (12:24 -0500)
The floppy Programmed IO code really should yield while the controller
is busy.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
src/hw/floppy.c

index aa8583d6660304d00258efd1848c9c39d2c2bcff..d60362a344964e80e61459886e6ccc39f8e2ac6d 100644 (file)
@@ -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) {