summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@gmx.de>2012-04-19 14:50:00 +0200
committercinap_lenrek <cinap_lenrek@gmx.de>2012-04-19 14:50:00 +0200
commitf3609bada2fdae4f5f66d00eecb1ed3068abcf42 (patch)
treea27852ea564791fb42bb1c3d52bc7bbe042c120e /sys
parentdf1d6ba99da637f21cc38d2690ad599c1a803a86 (diff)
sdide: increase Drq wait timeouts (fixes i/o errors in vbox)
Diffstat (limited to 'sys')
-rw-r--r--sys/src/9/pc/sdide.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/sys/src/9/pc/sdide.c b/sys/src/9/pc/sdide.c
index 007d6b89f..6ce3040a0 100644
--- a/sys/src/9/pc/sdide.c
+++ b/sys/src/9/pc/sdide.c
@@ -1108,7 +1108,7 @@ atapktio0(Drive *drive, SDreq *r)
outb(cmdport+Command, Cpkt);
microdelay(1);
- as = ataready(cmdport, ctlport, 0, Bsy, Drq|Chk, 4*1000);
+ as = ataready(cmdport, ctlport, 0, Bsy, Drq|Chk, 400*1000);
if(as < 0 || (as & (Bsy|Chk))){
drive->status = as<0 ? 0 : as;
ctlr->curdrive = nil;
@@ -1256,8 +1256,7 @@ atageniostart(Drive* drive, uvlong lba)
case Cws:
case Cwsm:
microdelay(1);
- /* 10*1000 for flash ide drives - maybe detect them? */
- as = ataready(cmdport, ctlport, 0, Bsy, Drq|Err, 10*1000);
+ as = ataready(cmdport, ctlport, 0, Bsy, Drq|Err, 400*1000);
if(as < 0 || (as & Err)){
iunlock(ctlr);
return -1;
@@ -1479,8 +1478,7 @@ atagenatastart(Drive* d, SDreq *r)
USED(d);
else if(!isdma){
microdelay(1);
- /* 10*1000 for flash ide drives - maybe detect them? */
- as = ataready(cmdport, ctlport, 0, Bsy, Drq|Err, 10*1000);
+ as = ataready(cmdport, ctlport, 0, Bsy, Drq|Err, 400*1000);
if(as < 0 || (as & Err)){
iunlock(ctlr);
return -1;