]> git.saurik.com Git - apple/xnu.git/blobdiff - iokit/Families/IOATAStandard/IOATAStandardDriverDma.cpp
xnu-201.tar.gz
[apple/xnu.git] / iokit / Families / IOATAStandard / IOATAStandardDriverDma.cpp
index 2ad22be97e9632c4dc1e74446bab17f9d3fc8550..a7195b9033e031443c5aceecb6135632dd6408cb 100644 (file)
@@ -289,6 +289,10 @@ void IOATAStandardDriver::doATAPIProtocolDma( IOATAStandardCommand *ataCmd )
         }          
     }
 
+    // Wait for BSY = 0 and DRQ = 0 before issuing a packet command.
+
+    waitForStatus( 0, kATAStatusBSY | kATAStatusDRQ, kATABusyTimeoutmS );
+
     for ( i = 0; regmask; i++ )
     {
         if ( regmask & 1 )