diff --git a/hal/halx86/generic/dma.c b/hal/halx86/generic/dma.c index 19d70517b5f..2966a5b2983 100644 --- a/hal/halx86/generic/dma.c +++ b/hal/halx86/generic/dma.c @@ -477,12 +477,6 @@ HalpDmaAllocateChildAdapter(IN ULONG NumberOfMapRegisters, (PVOID)&AdapterObject); if (!NT_SUCCESS(Status)) return NULL; - Status = ObReferenceObjectByPointer(AdapterObject, - FILE_READ_DATA | FILE_WRITE_DATA, - IoAdapterObjectType, - KernelMode); - if (!NT_SUCCESS(Status)) return NULL; - RtlZeroMemory(AdapterObject, sizeof(ADAPTER_OBJECT)); Status = ObInsertObject(AdapterObject, @@ -493,6 +487,8 @@ HalpDmaAllocateChildAdapter(IN ULONG NumberOfMapRegisters, &Handle); if (!NT_SUCCESS(Status)) return NULL; + ObReferenceObject(AdapterObject); + ZwClose(Handle); AdapterObject->DmaHeader.Version = (USHORT)DeviceDescription->Version;