this has not been tested yet, but i'm submitting anyway because of potential server downtime. Reference: /n/atom/patch/iasatasleepnou Date: Mon Jul 14 19:20:55 CES 2014 Signed-off-by: quanstro@quanstro.net --- /sys/src/fs/pc/iasata.c Mon Jul 14 19:20:40 2014 +++ /sys/src/fs/pc/iasata.c Mon Jul 14 19:20:41 2014 @@ -1565,6 +1565,7 @@ Drive *d; vlong s; char *lba; + Rendez r; static int once; if(once++ == 0) @@ -1573,8 +1574,9 @@ top: d = iadev(dv); if(d == nil || d->secsize == 0){ + memset(&r, 0, sizeof r); print("\t\t" "a%d.%d.%d not ready yet\n", dv->wren.ctrl, dv->wren.targ, dv->wren.lun); - waitmsec(500); + xtsleep(&r, no, nil, 500); goto top; }