X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/e3027f41d0120b4278cca462f397b6619dcd9ac5..0b4e3aa066abc0728aacb4bbeb86f53f9737156e:/iokit/Families/IOATAStandard/IOATAStandardDriverPio.cpp diff --git a/iokit/Families/IOATAStandard/IOATAStandardDriverPio.cpp b/iokit/Families/IOATAStandard/IOATAStandardDriverPio.cpp index d1b4c4c30..6f2c43c7d 100644 --- a/iokit/Families/IOATAStandard/IOATAStandardDriverPio.cpp +++ b/iokit/Families/IOATAStandard/IOATAStandardDriverPio.cpp @@ -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 )