]> git.saurik.com Git - apple/xnu.git/blobdiff - iokit/Families/IOATAStandard/IOATAStandardDriverPio.cpp
xnu-201.tar.gz
[apple/xnu.git] / iokit / Families / IOATAStandard / IOATAStandardDriverPio.cpp
index d1b4c4c30609414c5d3da650fd1b097e2659803a..6f2c43c7d906a2abc2ce78865e98c62a39dfc8ae 100644 (file)
@@ -304,6 +304,10 @@ void IOATAStandardDriver::doATAPIProtocolPio( 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 )