Author: tfaber
Date: Sun May 22 10:25:24 2016
New Revision: 71371

URL: http://svn.reactos.org/svn/reactos?rev=71371&view=rev
Log:
[UNIATA]
- When handling CD READ_CAPACITY requests in AtapiInterrupt__, fully rewind the 
DataBuffer instead of relying on the last read length. Fixes crash on first 
stage boot in KVM.
CORE-11286 #resolve
CORE-11296

Modified:
    trunk/reactos/drivers/storage/ide/uniata/id_ata.cpp

Modified: trunk/reactos/drivers/storage/ide/uniata/id_ata.cpp
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/storage/ide/uniata/id_ata.cpp?rev=71371&r1=71370&r2=71371&view=diff
==============================================================================
--- trunk/reactos/drivers/storage/ide/uniata/id_ata.cpp [iso-8859-1] (original)
+++ trunk/reactos/drivers/storage/ide/uniata/id_ata.cpp [iso-8859-1] Sun May 22 
10:25:24 2016
@@ -5923,13 +5923,13 @@
                     // for that also.
                     if (srb->Cdb[0] == SCSIOP_READ_CAPACITY) {
 
-                        AtaReq->DataBuffer -= wordCount;
+                        AtaReq->DataBuffer -= AtaReq->WordsTransfered;
                         if (AtaReq->DataBuffer[0] == 0x00) {
                             *((ULONG *) &(AtaReq->DataBuffer[0])) = 0xFFFFFF7F;
                         }
 
                         *((ULONG *) &(AtaReq->DataBuffer[2])) = 0x00080000;
-                        AtaReq->DataBuffer += wordCount;
+                        AtaReq->DataBuffer += AtaReq->WordsTransfered;
                     }
 #ifndef UNIATA_INIT_CHANGERS
                     else


Reply via email to