Changeset 83127 in vbox for trunk/src/VBox/Devices/Storage
- Timestamp:
- Feb 21, 2020 10:46:07 AM (5 years ago)
- svn:sync-xref-src-repo-rev:
- 136240
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Storage/DevBusLogic.cpp
r83126 r83127 1190 1190 * @param pThis Pointer to the shared BusLogic instance data. 1191 1191 * @param fSuppressIrq Flag to suppress IRQ generation regardless of current state 1192 */ 1193 static void buslogicCommandComplete(PPDMDEVINS pDevIns, PBUSLOGIC pThis, bool fSuppressIrq) 1192 * @param fNoComplStat Flag to suppress command completion status as well 1193 */ 1194 static void buslogicCommandComplete(PPDMDEVINS pDevIns, PBUSLOGIC pThis, bool fSuppressIrq, bool fSuppressCMDC) 1194 1195 { 1195 1196 LogFlowFunc(("pThis=%#p\n", pThis)); … … 1200 1201 pThis->iReply = 0; 1201 1202 1202 /* The Enable OMBR command doesnot set CMDC when successful. */1203 if ( pThis->uOperationCode != BUSLOGICCOMMAND_ENABLE_OUTGOING_MAILBOX_AVAILABLE_INTERRUPT)1203 /* Some commands do not set CMDC when successful. */ 1204 if (!fSuppressCMDC) 1204 1205 { 1205 1206 /* Notify that the command is complete. */ … … 1812 1813 int rc = VINF_SUCCESS; 1813 1814 bool fSuppressIrq = false; 1815 bool fSuppressCMDC = false; 1814 1816 1815 1817 LogFlowFunc(("pThis=%#p\n", pThis)); … … 1854 1856 pThis->cbReplyParametersLeft = 0; 1855 1857 fSuppressIrq = true; 1858 fSuppressCMDC = true; 1856 1859 break; 1857 1860 #else … … 2260 2263 pThis->LocalRam.structured.autoSCSIData.uReserved6 = uEnable; 2261 2264 fSuppressIrq = true; 2265 fSuppressCMDC = true; 2262 2266 } 2263 2267 break; … … 2344 2348 pThis->regStatus |= BL_STAT_DIRRDY; 2345 2349 else if (!pThis->cbCommandParametersLeft) 2346 buslogicCommandComplete(pDevIns, pThis, fSuppressIrq );2350 buslogicCommandComplete(pDevIns, pThis, fSuppressIrq, fSuppressCMDC ); 2347 2351 2348 2352 return rc; … … 2414 2418 */ 2415 2419 if (pThis->uOperationCode == BUSLOGICCOMMAND_FETCH_HOST_ADAPTER_LOCAL_RAM) 2416 buslogicCommandComplete(pDevIns, pThis, true /* fSuppressIrq */ );2420 buslogicCommandComplete(pDevIns, pThis, true /* fSuppressIrq */, true /* fSuppressCMDC */ ); 2417 2421 else 2418 buslogicCommandComplete(pDevIns, pThis, false );2422 buslogicCommandComplete(pDevIns, pThis, false, false); 2419 2423 } 2420 2424 }
Note:
See TracChangeset
for help on using the changeset viewer.