diff options
| -rw-r--r-- | sys/src/9/pc/sdiahci.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/src/9/pc/sdiahci.c b/sys/src/9/pc/sdiahci.c index 358c71da8..7a2c5a5d9 100644 --- a/sys/src/9/pc/sdiahci.c +++ b/sys/src/9/pc/sdiahci.c @@ -908,6 +908,7 @@ configdrive(Drive *d) ilock(d); switch(d->port->sstatus & Smask){ + default: case Smissing: d->state = Dmissing; break; @@ -1497,7 +1498,7 @@ iaonline(SDunit *u) c = u->dev->ctlr; d = c->drive[u->subno]; - while(waitready(d) == 1) + while(d->state != Dmissing && waitready(d) == 1) esleep(1); dprint("%s: iaonline: %s\n", dnam(d), diskstates[d->state]); @@ -2137,6 +2138,9 @@ iapnp(void) return nil; done = 1; + if(getconf("*noahci") != nil) + return nil; + if(getconf("*ahcidebug") != nil){ debug = 1; datapi = 1; |
