Changeset 50564 in vbox for trunk/src/VBox/Devices/Storage
- Timestamp:
- Feb 24, 2014 10:43:23 PM (11 years ago)
- svn:sync-xref-src-repo-rev:
- 92428
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Storage/DevAHCI.cpp
r50294 r50564 6051 6051 } 6052 6052 6053 if (pAhciPort->cTasksActive == 0 && pAhciPort->pAhciR3->fSignalIdle) 6054 PDMDevHlpAsyncNotificationCompleted(pAhciPort->pDevInsR3); 6055 6053 6056 return fCanceled; 6054 6057 } … … 6070 6073 __FUNCTION__, pInterface, pvUser, pAhciReq->uTag)); 6071 6074 6072 int rc = ahciTransferComplete(pAhciPort, pAhciReq, rcReq, true); 6073 6074 if (pAhciPort->cTasksActive == 0 && pAhciPort->pAhciR3->fSignalIdle) 6075 PDMDevHlpAsyncNotificationCompleted(pAhciPort->pDevInsR3); 6076 return rc; 6075 ahciTransferComplete(pAhciPort, pAhciReq, rcReq, true); 6076 6077 return VINF_SUCCESS; 6077 6078 } 6078 6079 … … 6539 6540 while (idx) 6540 6541 { 6542 bool fReqCanceled = false; 6541 6543 AHCITXDIR enmTxDir; 6542 6544 PAHCIREQ pAhciReq; … … 6675 6677 } 6676 6678 if (rc == VINF_VD_ASYNC_IO_FINISHED) 6677 rc= ahciTransferComplete(pAhciPort, pAhciReq, VINF_SUCCESS, true);6679 fReqCanceled = ahciTransferComplete(pAhciPort, pAhciReq, VINF_SUCCESS, true); 6678 6680 else if (RT_FAILURE(rc) && rc != VERR_VD_ASYNC_IO_IN_PROGRESS) 6679 rc= ahciTransferComplete(pAhciPort, pAhciReq, rc, true);6681 fReqCanceled = ahciTransferComplete(pAhciPort, pAhciReq, rc, true); 6680 6682 } 6681 6683 else … … 6710 6712 pAhciPort->Led.Asserted.s.fWriting = pAhciPort->Led.Actual.s.fWriting = 0; 6711 6713 } 6712 rc= ahciTransferComplete(pAhciPort, pAhciReq, rc, true);6714 fReqCanceled = ahciTransferComplete(pAhciPort, pAhciReq, rc, true); 6713 6715 } 6714 6716 } 6715 6717 } 6716 6718 else 6717 rc= ahciTransferComplete(pAhciPort, pAhciReq, VINF_SUCCESS, true);6719 fReqCanceled = ahciTransferComplete(pAhciPort, pAhciReq, VINF_SUCCESS, true); 6718 6720 } /* Command */ 6721 6722 /* 6723 * Don't process other requests if the last one was canceled, 6724 * the others are not valid anymore. 6725 */ 6726 if (fReqCanceled) 6727 break; 6719 6728 6720 6729 u32Tasks &= ~RT_BIT_32(idx); /* Clear task bit. */
Note:
See TracChangeset
for help on using the changeset viewer.