Are you marking the PDO as raw or as the power policy owner?
-----Original Message-----
From: Tarun Singh [mailto:xxxxx@yahoo.com]
Sent: Monday, April 07, 2008 1:21 PM
To: Windows System Software Devs Interest List
Cc: Doron Holan
Subject: RE: Re:[ntdev] Getting the NIC binding in Bus Driver
Yeah \Driver\ifcoevm is my driver for a PDO created by
the bus driver. And \Device\RaidPort is system
created, I think sortport owns it.
This time I did hibernation, I have one instance of my
driver loaded in the system, so only IRP is pending,
Here is the dump:
0: kd> !irp 0x8a114200 ff
Irp is active with 2 stacks 2 is current (=
0x8a114294)
No Mdl: No System Buffer: Thread 00000000: Irp stack
trace.
Flags = 00000000
ThreadListEntry.Flink = 8a114210
ThreadListEntry.Blink = 8a114210
IoStatus.Status = 00000000
IoStatus.Information = 00000000
RequestorMode = 00000000
Cancel = 00
CancelIrql = 0
ApcEnvironment = 00
UserIosb = 00000000
UserEvent = 00000000
Overlay.AsynchronousParameters.UserApcRoutine =
00000000
Overlay.AsynchronousParameters.UserApcContext =
00000000
Overlay.AllocationSize = 00000000 - 00000000
CancelRoutine = 00000000
UserBuffer = 00000000
&Tail.Overlay.DeviceQueueEntry = 8a114240
Tail.Overlay.Thread = 00000000
Tail.Overlay.AuxiliaryBuffer = 00000000
Tail.Overlay.ListEntry.Flink = 00000000
Tail.Overlay.ListEntry.Blink = 00000000
Tail.Overlay.CurrentStackLocation = 8a114294
Tail.Overlay.OriginalFileObject = 00000000
Tail.Apc = 00000000
Tail.CompletionKey = 00000000
cmd flg cl Device File Completion-Context
[16, 0] 0 0 8a08fe58 00000000 ba634752-00000000
\Driver\IFCoEProt
storport!RaidAdapterSetSystemPowerCompletion
Args: 00000000 00000000 00000000 00000003
[16, 2] 0 e0 8a0d6620 00000000 809b0e62-84838a10
Success Error Cancel
\Driver\ifcoevm nt!PopCompleteSystemPowerIrp
Args: 00000000 00000000 00000005 00000003
-Tarun
— Doron Holan wrote:
> Is \Driver\ifcoevm your driver? What is
> \Device\RaidPort0? A PDO or FDO? What is the
> output of !irp ff for each of the irps listed
> (e.g. !irp 89ff0c90 ff)
>
> d
> -----Original Message-----
> From: Tarun Singh [mailto:xxxxx@yahoo.com]
> Sent: Monday, April 07, 2008 12:20 PM
> To: Windows System Software Devs Interest List
> Cc: Doron Holan
> Subject: Re:[ntdev] Getting the NIC binding in Bus
> Driver
>
> Hi:
>
> I used the KMDF version of the dynamic bus version
> to
> create the child PDO when driver notices a new NIC
> Binding, I loaded the virtual storage miniport
> driver
> on this newly created child PDO, which works fine,
> but
> I am seeing a problem of system hang during system
> shutdown and hibernation. The system keep displaying
> the following line,
>
> During shutdown it keeps displaying:
> Waiting on: \Driver\ifcoevm \Device\RaidPort0 irp
> (89ff0c90) SetPower-Shutdown status 0
>
>
> During hibernation it keeps displaying:
> Waiting on: \Driver\ifcoevm \Device\RaidPort0 irp
> (89cc6cd8) SetPower-Hibernate status 0
>
> Is this is a known issue? If you have a fix, where I
> can get it from. I am using the W2K3 SP2 with web
> updates for the virtual storport available.
>
> -Tarun
>
> — Doron Holan wrote:
>
> > If you are considering asking for a kernel change,
> I
> > highly doubt you will get it. This is a
> fundamental
> > behavior that will not change. The iSCSI driver
> > uses TDI to talk to the NIC, so I do not think it
> is
> > going the same route you are.
> >
> > d
> >
> > -----Original Message-----
> > From: Tarun Singh [mailto:xxxxx@yahoo.com]
> > Sent: Sunday, April 06, 2008 4:34 AM
> > To: Windows System Software Devs Interest List
> > Cc: Doron Holan
> > Subject: Re: Re:[ntdev] Getting the NIC binding in
> > Bus Driver
> >
> > All this works, but I am just stuck when someone
> > disables the NIC, the CHILD PDO which was created
> on
> > this NIC doesn’t get a chance to send the packets
> on
> > the Network Stack because NIC unbind was almost
> half
> > way done. I am looking a way to know advance about
> > NIC unbind, so that I can stop my child PDO and
> tell
> > the NDIS stack to go ahead and start the NIC
> Unbind
> > one child PDO deletion completes. You said in one
> of
> > the last email that this requires a work in the
> > kernel. So probably we need to contact Microsoft.
> I
> > don’t know how MS iSCSI driver works, because it
> is
> > also sitting on top of the NIC.
> >
> > -Tarun
> >
> > ----- Original Message ----
> > From: Doron Holan
> > To: Windows System Software Devs Interest List
> >
> > Sent: Saturday, April 5, 2008 10:03:27 PM
> > Subject: RE: Re:[ntdev] Getting the NIC binding in
> > Bus Driver
> >
> > IoInvalidateDeviceState + returning that the
> devices
> > is failed/removed in the query irp also requires
> > async behavior (IRP_MN_QUERY_DEVICE_STATE is state
> > changing) and does not allow him to
> > resurrect/restart the PDO when the binding is
> > readded.
> >
> > d
> >
> > -----Original Message-----
> > From: xxxxx@lists.osr.com
> > [mailto:xxxxx@lists.osr.com] On
> Behalf
> > Of Maxim S. Shatskih
> > Sent: Saturday, April 05, 2008 4:58 AM
> > To: Windows System Software Devs Interest List
> > Subject: Re:[ntdev] Getting the NIC binding in Bus
> > Driver
> >
> > >to delete the child PDO using the
> > IoEjectDevice(pdo) in the context of NIC
> > >unbindAdapter call by the NDIS, and wait there
> for
> > the PDO to be deleted.
> >
> > Have you tried to mark the PDO as “dead” using
> your
> > own flag, then call
> > IoInvalidateDeviceRelations, and then do not
> return
> > the “dead” PDO in
> > relations?
> >
> > This is the normal way of deleting the PDO in the
> > bus driver.
> >
> > Another way is IoInvalidateDeviceState with the
> > proper response “I want to die”
> > to the MN_QUERY_DEVICE_STATE IRP.
> >
> > –
> > Maxim Shatskih, Windows DDK MVP
> > StorageCraft Corporation
> > xxxxx@storagecraft.com
> > http://www.storagecraft.com
> >
> >
> > —
> > NTDEV is sponsored by OSR
> >
> > For our schedule of WDF, WDM, debugging and other
> > seminars visit:
> > http://www.osr.com/seminars
> >
> > To unsubscribe, visit the List Server section of
> OSR
> > Online at
> > http://www.osronline.com/page.cfm?name=ListServer
> >
> > —
> > NTDEV is sponsored by OSR
> >
> > For our schedule of WDF, WDM, debugging and other
> > seminars visit:
> > http://www.osr.com/seminars
> >
> > To unsubscribe, visit the List Server section of
> OSR
> > Online at
> > http://www.osronline.com/page.cfm?name=ListServer
> >
> > —
> > NTDEV is sponsored by OSR
> >
> > For our schedule of WDF, WDM, debugging and other
> > seminars visit:
> > http://www.osr.com/seminars
> >
> > To unsubscribe, visit the List Server section of
> OSR
> > Online at
> > http://www.osronline.com/page.cfm?name=ListServer
> >
>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other
> seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR
> Online at
> http://www.osronline.com/page.cfm?name=ListServer
>