From fa5bc6ed2630078b2a3d6d4efdc6698558e1b26a Mon Sep 17 00:00:00 2001 From: Johannes Anderwald Date: Sat, 17 Jan 2009 23:11:11 +0000 Subject: [PATCH] - Store DeviceObject before calling IMiniportTopology's init function svn path=/trunk/; revision=38859 --- .../wdm/audio/backpln/portcls/port_topology.c | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/reactos/drivers/wdm/audio/backpln/portcls/port_topology.c b/reactos/drivers/wdm/audio/backpln/portcls/port_topology.c index 8eca9c8633d..e32a2ad55a7 100644 --- a/reactos/drivers/wdm/audio/backpln/portcls/port_topology.c +++ b/reactos/drivers/wdm/audio/backpln/portcls/port_topology.c @@ -10,7 +10,6 @@ typedef struct PMINIPORTTOPOLOGY pMiniport; PDEVICE_OBJECT pDeviceObject; - PRESOURCELIST pResourceList; PPINCOUNT pPinCount; PPOWERNOTIFY pPowerNotify; @@ -148,7 +147,8 @@ IPortTopology_fnInit( NTSTATUS Status; IPortTopologyImpl * This = (IPortTopologyImpl*)iface; - DPRINT1("IPortTopology_fnInit entered\n"); + DPRINT1("IPortTopology_fnInit entered This %p DeviceObject %p Irp %p UnknownMiniport %p UnknownAdapter %p ResourceList %p\n", + This, DeviceObject, Irp, UnknownMiniport, UnknownAdapter, ResourceList); if (This->bInitialized) { @@ -163,23 +163,19 @@ IPortTopology_fnInit( return STATUS_INVALID_PARAMETER; } - /* increment reference on resource list */ - //HACK - //ResourceList->lpVtbl->AddRef(ResourceList); + /* Initialize port object */ + This->pMiniport = Miniport; + This->pDeviceObject = DeviceObject; + This->bInitialized = TRUE; Status = Miniport->lpVtbl->Init(Miniport, UnknownAdapter, ResourceList, iface); if (!NT_SUCCESS(Status)) { DPRINT1("IPortTopology_Init failed with %x\n", Status); + This->bInitialized = FALSE; return Status; } - /* Initialize port object */ - This->pMiniport = Miniport; - This->pDeviceObject = DeviceObject; - This->bInitialized = TRUE; - This->pResourceList = ResourceList; - /* increment reference on miniport adapter */ Miniport->lpVtbl->AddRef(Miniport);