{
// no irp available
m_OutOfMapping = TRUE;
+ DPRINT("GetMappingWithTag no mapping available\n");
return STATUS_NOT_FOUND;
}
StreamData->CurStreamHeader = (PKSSTREAM_HEADER)((ULONG_PTR)StreamData->CurStreamHeader + StreamData->CurStreamHeader->Size);
}
+ DPRINT("GetMappingWithTag Tag %p Buffer %p Flags %lu ByteCount %lx\n", Tag, VirtualAddress, *Flags, *ByteCount);
// done
return STATUS_SUCCESS;
}
// remove irp from used list
CurEntry = ExInterlockedRemoveHeadList(&m_FreeIrpList, &m_IrpListLock);
+ if (CurEntry == NULL)
+ {
+ // this should not happen
+ DPRINT("ReleaseMappingWithTag Tag %p not found\n", Tag);
+ return STATUS_NOT_FOUND;
+ }
// sanity check
PC_ASSERT(CurEntry);
// complete the request
IoCompleteRequest(Irp, IO_SOUND_INCREMENT);
}
+ else
+ {
+ // there are still some headers not consumed
+ ExInterlockedInsertHeadList(&m_FreeIrpList, &Irp->Tail.Overlay.ListEntry, &m_IrpListLock);
+ }
return STATUS_SUCCESS;
}
IN PRESOURCELIST ResourceList)
{
IMiniportWavePci * Miniport;
- PSERVICEGROUP ServiceGroup;
+ PSERVICEGROUP ServiceGroup = 0;
NTSTATUS Status;
PPINCOUNT PinCount;
PPOWERNOTIFY PowerNotify;