Changeset 50031 in vbox for trunk/src/VBox/Devices/Storage
- Timestamp:
- Jan 8, 2014 12:06:11 PM (11 years ago)
- svn:sync-xref-src-repo-rev:
- 91489
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Storage/DevAHCI.cpp
r50018 r50031 446 446 /** Flag whether this port is hot plug capable. */ 447 447 bool fHotpluggable; 448 /** Flag whether the I/O thread idles. */449 volatile bool fAsyncIOThreadIdle;450 448 /** Flag whether the port is in redo task mode. */ 451 449 volatile bool fRedo; … … 6547 6545 * Couldn't find anything in either the AHCI or SATA spec which 6548 6546 * indicates what should be done if the FIS is not read successfully. 6549 * The closes thing is in the state machine, stating that the device6547 * The closest thing is in the state machine, stating that the device 6550 6548 * should go into idle state again (SATA spec 1.0 chapter 8.7.1). 6551 6549 * Do the same here and ignore any corrupt FIS types, after all … … 6788 6786 pHlp->pfnPrintf(pHlp, "PortTasksFinished=%#x\n", pThisPort->u32TasksFinished); 6789 6787 pHlp->pfnPrintf(pHlp, "PortQueuedTasksFinished=%#x\n", pThisPort->u32QueuedTasksFinished); 6790 pHlp->pfnPrintf(pHlp, "PortAsyncIoThreadIdle=%RTbool\n", pThisPort->fAsyncIOThreadIdle);6791 6788 pHlp->pfnPrintf(pHlp, "\n"); 6792 6789 } … … 6808 6805 PAHCI pThis = PDMINS_2_DATA(pDevIns, PAHCI); 6809 6806 6807 if (pThis->cThreadsActive) 6808 return false; 6809 6810 6810 for (uint32_t i = 0; i < RT_ELEMENTS(pThis->ahciPort); i++) 6811 6811 { … … 6813 6813 if (pThisPort->pDrvBase) 6814 6814 { 6815 bool fFinished; 6816 if (pThisPort->fAsyncInterface) 6817 fFinished = (pThisPort->cTasksActive == 0); 6818 else 6819 fFinished = ((pThisPort->cTasksActive == 0) && (pThisPort->fAsyncIOThreadIdle)); 6820 if (!fFinished) 6815 if ( (pThisPort->cTasksActive != 0) 6816 || (pThisPort->u32TasksNew != 0)) 6821 6817 return false; 6822 6818 } … … 8222 8218 pAhciPort->IMountNotify.pfnMountNotify = ahciR3MountNotify; 8223 8219 pAhciPort->IMountNotify.pfnUnmountNotify = ahciR3UnmountNotify; 8224 pAhciPort->fAsyncIOThreadIdle = true;8225 8220 8226 8221 /* Query per port configuration options if available. */
Note:
See TracChangeset
for help on using the changeset viewer.