zx128: Fix swap out
authorAlan Cox <alan@linux.intel.com>
Sun, 19 Apr 2015 20:52:41 +0000 (21:52 +0100)
committerAlan Cox <alan@linux.intel.com>
Sun, 19 Apr 2015 20:52:41 +0000 (21:52 +0100)
We still don't swap in correctly (we panic) but the outgoing swap now appears
to work and writes 32K to the microdrive.

Kernel/platform-zx128/devmdv.c

index dbd888d..8f8cc67 100644 (file)
@@ -90,8 +90,12 @@ static int mdv_transfer(uint8_t minor, bool is_read, uint8_t rawflag)
 
        while(nblock--) {
                mdv_sector = mdvmap[minor][block++];
-               kprintf("Load sector %d to %d:%x\n", mdv_sector, mdv_page, mdv_buf);
+               kprintf("%d %d:%x\n", mdv_sector, mdv_page, mdv_buf);
                irq = di();
+               /* Shouldn't happen but in case */
+               if (mdv_tick == 0)
+                       mdv_motor_on(minor + 1);
+               mdv_tick = 250;
                if (is_read)
                        err = mdv_bread();
                else