Changeset 35756 in vbox for trunk/src/VBox/Devices
- Timestamp:
- Jan 28, 2011 12:29:38 PM (14 years ago)
- svn:sync-xref-src-repo-rev:
- 69717
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Storage/DevBusLogic.cpp
r35631 r35756 2345 2345 { 2346 2346 PBUSLOGIC pBusLogic = PDMINS_2_DATA(pDevIns, PBUSLOGIC); 2347 2348 AssertMsg(pBusLogic->cMailboxesReady > 0, ("Got notification without any mailboxes ready\n")); 2347 uint32_t cMailboxesReady = 0; 2349 2348 2350 2349 /* Reset notification send flag now. */ 2350 Assert(pBusLogic->fNotificationSend); 2351 2351 ASMAtomicXchgBool(&pBusLogic->fNotificationSend, false); 2352 2353 /* 2354 * It is possible that there is a notification send but that there is no mailbox ready 2355 * in the SMP case. Just do nothing. 2356 */ 2357 cMailboxesReady = ASMAtomicXchgU32(&pBusLogic->cMailboxesReady, 0); 2358 if (!cMailboxesReady) 2359 return true; 2352 2360 2353 2361 /* Process mailboxes. */ … … 2358 2366 rc = buslogicProcessMailboxNext(pBusLogic); 2359 2367 AssertMsgRC(rc, ("Processing mailbox failed rc=%Rrc\n", rc)); 2360 } while ( ASMAtomicDecU32(&pBusLogic->cMailboxesReady)> 0);2368 } while (--cMailboxesReady > 0); 2361 2369 2362 2370 return true;
Note:
See TracChangeset
for help on using the changeset viewer.