Opened 6 years ago
#17767 new defect
hdaR3SaveStream compile bug in non VBOX_STRICT
| Reported by: | gim | Owned by: | |
|---|---|---|---|
| Component: | audio | Version: | VirtualBox 5.2.12 |
| Keywords: | Cc: | ||
| Guest type: | all | Host type: | all |
Description
VirtualBox/src/VBox/Devices/Audio/DevHDA.cpp: In function ‘int hdaR3SaveStream(PPDMDEVINS, PSSMHANDLE, PHDASTREAM)’:
VirtualBox/src/VBox/Devices/Audio/DevHDA.cpp:3506:30: error: ‘pThis’ was not declared in this scope
HDA_STREAM_REG(pThis, LPIB, pStream->u8SD), HDA_STREAM_REG(pThis, CBL, pStream->u8SD), HDA_STREAM_REG(pThis, LVI, pStream->u8SD)));
In this function pThis will be defined only when VBOX_STRICT defined:
/* Saved state workers and callbacks. */
static int hdaR3SaveStream(PPDMDEVINS pDevIns, PSSMHANDLE pSSM, PHDASTREAM pStream)
{
RT_NOREF(pDevIns);
#ifdef VBOX_STRICT
PHDASTATE pThis = PDMINS_2_DATA(pDevIns, PHDASTATE);
#endif
...
#ifdef VBOX_STRICT /* Sanity checks. */
uint64_t u64BaseDMA = RT_MAKE_U64(HDA_STREAM_REG(pThis, BDPL, pStream->u8SD),
HDA_STREAM_REG(pThis, BDPU, pStream->u8SD));
uint16_t u16LVI = HDA_STREAM_REG(pThis, LVI, pStream->u8SD);
uint32_t u32CBL = HDA_STREAM_REG(pThis, CBL, pStream->u8SD);
Assert(u64BaseDMA == pStream->u64BDLBase);
Assert(u16LVI == pStream->u16LVI);
Assert(u32CBL == pStream->u32CBL);
#endif
...
#ifdef VBOX_STRICT /* Sanity checks. */
PHDABDLE pBDLE = &pStream->State.BDLE;
if (u64BaseDMA)
{
Assert(pStream->State.uCurBDLE <= u16LVI + 1);
HDABDLE curBDLE;
rc = hdaR3BDLEFetch(pThis, &curBDLE, u64BaseDMA, pStream->State.uCurBDLE);
AssertRC(rc);
Assert(curBDLE.Desc.u32BufSize == pBDLE->Desc.u32BufSize);
Assert(curBDLE.Desc.u64BufAdr == pBDLE->Desc.u64BufAdr);
Assert(curBDLE.Desc.fFlags == pBDLE->Desc.fFlags);
}
else
{
Assert(pBDLE->Desc.u64BufAdr == 0);
Assert(pBDLE->Desc.u32BufSize == 0);
}
#endif
...
Log2Func(("[SD%RU8] LPIB=%RU32, CBL=%RU32, LVI=%RU32\n",
pStream->u8SD,
HDA_STREAM_REG(pThis, LPIB, pStream->u8SD), HDA_STREAM_REG(pThis, CBL, pStream->u8SD), HDA_STREAM_REG(pThis, LVI, pStream->u8SD)));
#ifdef LOG_ENABLED
hdaR3BDLEDumpAll(pThis, pStream->u64BDLBase, pStream->u16LVI + 1);
#endif
return rc;
}
Attachments (2)
Change History (2)
by , 6 years ago
| Attachment: | DevHDA.patch added |
|---|
by , 6 years ago
| Attachment: | DevHDA.2.patch added |
|---|
Note:
See TracTickets
for help on using tickets.

