From df22a7678980d604f3a660e86b7419103113539d Mon Sep 17 00:00:00 2001 From: Alan Cox Date: Thu, 11 Dec 2014 12:12:19 +0000 Subject: [PATCH] mdv: turn on the motor when reading the maps - it helps --- Kernel/platform-zx128/devmdv.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Kernel/platform-zx128/devmdv.c b/Kernel/platform-zx128/devmdv.c index 411e0726..c94f0896 100644 --- a/Kernel/platform-zx128/devmdv.c +++ b/Kernel/platform-zx128/devmdv.c @@ -30,7 +30,7 @@ static int mdv_transfer(uint8_t minor, bool is_read, uint8_t rawflag) if (rawflag) goto bad; - mdv_motor_on(minor); + mdv_motor_on(minor + 1); /* FIXME: support swap ? */ mdv_sector = mdvmap[minor][udata.u_buf->bf_blk]; mdv_buf = udata.u_buf->bf_data; @@ -71,6 +71,7 @@ int mdv_open(uint8_t minor, uint16_t flag) udata.u_error = ENODEV; return -1; } + mdv_motor_on(minor + 1); t = tmpbuf(); mdv_buf = t; mdv_sector = 1; @@ -80,6 +81,7 @@ int mdv_open(uint8_t minor, uint16_t flag) err = mdv_bread(); if (err) { kprintf("mdv_open: maps bad: %d\n", err); + mdv_motor_off(); udata.u_error = ENXIO; return -1; } @@ -87,6 +89,7 @@ int mdv_open(uint8_t minor, uint16_t flag) } brelse(t); mdv_valid |= 1 << minor; + mdv_motor_off(); return 0; } -- 2.34.1