MmFreeAccessPfnBuffer

VOID __stdcall MmFreeAccessPfnBuffer(VOID *Buffer, UINT8 DeferDelete){
  _ADAPTER_OBJECT *v3; 

  if( !*((_DWORD *)Buffer + 2) )
  {
    v3 = (_ADAPTER_OBJECT *)*((_QWORD *)Buffer + 7);
    if( (unsigned __int64)v3 > 1 )
    {
      if( DeferDelete )
        ObDereferenceObjectDeferDelete((UINT64)v3);
      else
        HalPutDmaAdapter(v3);
    }
  }
  ExFreePoolWithTag(Buffer, 0);
}

Referenced by:

MiQueuePageAccessLog
MiReturnCcAccessLog
MiTrimOrAgeWorkingSet
PfTAccessTracingCleanup
PfpFlushBuffers
PfpReturnAccessBuffer