VirtualBox

Changeset 82812 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Jan 21, 2020 11:49:05 AM (5 years ago)
Author:
vboxsync
Message:

DevVGA: Don't take the device lock in vgaR3PciIORegionVRamMapUnmap as it is (or will create later) a lock order violation with the PDM lock. This is probably a regression from bugref:9218.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Graphics/DevVGA.cpp

    r82607 r82812  
    56285628    Assert(pPciDev == pDevIns->apPciDevs[0]);
    56295629
    5630     int rc = PDMDevHlpCritSectEnter(pDevIns, &pThis->CritSect, VERR_SEM_BUSY);
    5631     AssertRC(rc);
    5632 
     5630    /* Note! We cannot take the device lock here as that would create a lock order
     5631             problem as the caller has taken the PDM lock prior to calling us.  If
     5632             we did, we will get trouble later when raising interrupts while owning
     5633             the device lock (e.g. vmsvgaR3FifoLoop). */
     5634
     5635    int rc;
    56335636    if (GCPhysAddress != NIL_RTGCPHYS)
    56345637    {
     
    56785681        /* NB: VBE_DISPI_INDEX_FB_BASE_HI is left unchanged here. */
    56795682    }
    5680     PDMDevHlpCritSectLeave(pDevIns, &pThis->CritSect);
    56815683    return rc;
    56825684}
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette