ref: 00db0b96920f4f8a770bacff7ff554e02c8f0162
parent: ff938783a149a445fe8019cf5b31f4c49b8f0eef
author: cinap_lenrek <cinap_lenrek@gmx.de>
date: Sat Feb 23 09:05:51 EST 2013
sdiahci: only wait for drives that are in the process of becoming ready when onlining, add *noahci option
--- a/sys/src/9/pc/sdiahci.c
+++ b/sys/src/9/pc/sdiahci.c
@@ -908,6 +908,7 @@
ilock(d);
switch(d->port->sstatus & Smask){+ default:
case Smissing:
d->state = Dmissing;
break;
@@ -1497,7 +1498,7 @@
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]);@@ -2136,6 +2137,9 @@
if(done)
return nil;
done = 1;
+
+ if(getconf("*noahci") != nil)+ return nil;
if(getconf("*ahcidebug") != nil){debug = 1;
--
⑨