From: device driver biginner device driver on
In WHQL of the USB device driver which I developed, the phenomenon that
PNPFILTER becomes the silence in PNPDTEST occurs.
I think that there is some problem in IRP_MN_SURPRISE_REMOVAL of the driver
inside that we developed, but am happy when I have you instruct it.
I developed the device driver by WDM.
This driver has the WHQL results in WinXP.

Test contents
tool: PNPDTEST
Setting: Validate Enable Power Tests in Sleep state = S4 in Power Test
Options; and Start Stress practice.
others: Verifer is effective

The phenomenon details:
I show the log that traced PNPFILTR in Windbg as follows.
Log tail after("PNPFILTR: Waiting for result to be stored") PNPFILTR becomes
the silence and does not belong under a Hibernation state.

************************************************************
*
* This is the string you add to your checkin description
* Driver Verifier: Enabled for pnpfiltr.sys on Build 7600
WOPJkbwlQfZ92hQiJGWSzG
*
************************************************************
PNPFILTR: Entered Pnpfiltr DriverEntry of built on Nov 21 2009 at 00:19:33
PNPFILTR: Events being initialized
PNPFILTR: Received IRP_MN_QUERY_LEGACY_BUS_INFORMATION which I am simply
passing down
PNPFILTR: Received IRP_MN_QUERY_RESOURCE_REQUIREMENTS which I am simply
passing down
PNPFILTR: Received IRP_MN_FILTER_RESOURCE_REQUIREMENT for stack with PDO
0x866416A8
PNPFILTR: FilterCompletionRoutine Completed, event set.
PNPFILTR: FilterFilterResourceRequirement returning 0x00000004 for stack
with PDO 0x866416A8
PNPFILTR: Received IRP_MN_START_DEVICE for stack with PDO 0x866416A8
PNPFILTR: FilterCompletionRoutine Completed, event set.
PNPFILTR: Time taken for IRP_MN_START_DEVICE to get processed for the PDO
866416A8 is 196 miliseconds
PNPFILTR: Completing Start request with status == 0x00000002 PDO = 0x866416A8
PNPFILTR: Received IRP_MN_QUERY_INTERFACE which I am simply passing down
PNPFILTR: Received IRP_MN_QUERY_CAPABILITIES which I am simply passing down
PNPFILTR: Received IRP_MN_QUERY_PNP_DEVICE_STATE for stack with PDO 0x866416A8
PNPFILTR: FilterCompletionRoutine Completed, event set.
PNPFILTR: Completing IRP_MN_QUERY_PNP_DEVICE_STATE for PDO 0x866416A8 with
status 0x00000000 and information 0x00000000
PNPFILTR: List has 0 entries
PNPFILTR: Processed 0 IRPs
PNPFILTR: List has 0 entries
PNPFILTR: Processed 0 IRPs
PNPFILTR: Passing down unhandled PNP IRP - minor function = 0xff
PNPFILTR: Received IRP_MN_QUERY_DEVICE_RELATIONS which I am simply passing
down
PNPFILTR: Received IRP_MN_QUERY_DEVICE_RELATIONS which I am simply passing
down
PNPFILTR: Received IRP_MN_QUERY_DEVICE_TEXT which I am simply passing down
PNPFILTR: Received IRP_MN_QUERY_ID which I am simply passing down
PNPFILTR: Received IRP_MN_QUERY_DEVICE_RELATIONS which I am simply passing
down
PNPFILTR: Received IRP_MN_QUERY_INTERFACE which I am simply passing down
PNPFILTR: Received IRP_MN_QUERY_INTERFACE which I am simply passing down
PNPFILTR: Received IRP_MN_QUERY_DEVICE_RELATIONS which I am simply passing
down
PNPFILTR: Received IRP_MN_QUERY_CAPABILITIES which I am simply passing down
PNPFILTR: Received IRP_MN_QUERY_CAPABILITIES which I am simply passing down
PNPFILTR: Received IRP_MN_QUERY_CAPABILITIES which I am simply passing down
PNPFILTR: Received IRP_MN_QUERY_DEVICE_RELATIONS which I am simply passing
down
PNPFILTR: Received IOCTL_QUERY_DEVICE_COUNT
PNPFILTR: Received IOCTL_QUERY_HARDWARE_ID_SIZE for PDO 0x866416A8
PNPFILTR: Received IOCTL_QUERY_HARDWARE_ID for PDO 0x866416A8
PNPFILTR: Received IOCTL_SURPRISE_REMOVE_DEVICE for PDO 0x866416A8
PNPFILTR: Calling IoInvalidateDeviceState to start rebalance on PDO 866416A8
PNPFILTR: Received IRP_MN_QUERY_PNP_DEVICE_STATE for stack with PDO 0x866416A8
PNPFILTR: FilterCompletionRoutine Completed, event set.
PNPFILTR: Completing IRP_MN_QUERY_PNP_DEVICE_STATE for PDO 0x866416A8 with
status 0x00000000 and information 0x00000004
PNPFILTR: Received IRP_MN_QUERY_DEVICE_RELATIONS which I am simply passing
down
PNPFILTR: Received IRP_MN_QUERY_DEVICE_RELATIONS which I am simply passing
down
PNPFILTR: Received IRP_MN_SURPRISE_REMOVAL for stack with PDO 0x866416A8
PNPFILTR: FilterSurpriseRemove returning 0x00000004 for stack with PDO
0x866416A8
PNPFILTR: Received IRP_MN_REMOVE_DEVICE for stack with PDO 0x866416A8
PNPFILTR: Setting the test completed event
PNPFILTR: Waiting for result to be stored
From: Scott Noone on
You can try !pnplocks to see if you're holding up a PnP operation somehow,
though it looks like you're making it through remove. The only other thing I
can think of is to start with !stacks 2 and look for any stacks that have
your driver or pnpfilter in them, from there you need to look at those
threads and figure out why they aren't making any progress.

-scott

--
Scott Noone
Consulting Associate
OSR Open Systems Resources, Inc.
http://www.osronline.com


"device driver biginner" <device driver biginner(a)discussions.microsoft.com>
wrote in message news:7C30887F-EE0F-425D-8684-05C2ED738D3C(a)microsoft.com...
> In WHQL of the USB device driver which I developed, the phenomenon that
> PNPFILTER becomes the silence in PNPDTEST occurs.
> I think that there is some problem in IRP_MN_SURPRISE_REMOVAL of the
> driver
> inside that we developed, but am happy when I have you instruct it.
> I developed the device driver by WDM.
> This driver has the WHQL results in WinXP.
>
> Test contents
> tool: PNPDTEST
> Setting: Validate Enable Power Tests in Sleep state = S4 in Power Test
> Options; and Start Stress practice.
> others: Verifer is effective
>
> The phenomenon details:
> I show the log that traced PNPFILTR in Windbg as follows.
> Log tail after("PNPFILTR: Waiting for result to be stored") PNPFILTR
> becomes
> the silence and does not belong under a Hibernation state.
>
> ************************************************************
> *
> * This is the string you add to your checkin description
> * Driver Verifier: Enabled for pnpfiltr.sys on Build 7600
> WOPJkbwlQfZ92hQiJGWSzG
> *
> ************************************************************
> PNPFILTR: Entered Pnpfiltr DriverEntry of built on Nov 21 2009 at 00:19:33
> PNPFILTR: Events being initialized
> PNPFILTR: Received IRP_MN_QUERY_LEGACY_BUS_INFORMATION which I am simply
> passing down
> PNPFILTR: Received IRP_MN_QUERY_RESOURCE_REQUIREMENTS which I am simply
> passing down
> PNPFILTR: Received IRP_MN_FILTER_RESOURCE_REQUIREMENT for stack with PDO
> 0x866416A8
> PNPFILTR: FilterCompletionRoutine Completed, event set.
> PNPFILTR: FilterFilterResourceRequirement returning 0x00000004 for stack
> with PDO 0x866416A8
> PNPFILTR: Received IRP_MN_START_DEVICE for stack with PDO 0x866416A8
> PNPFILTR: FilterCompletionRoutine Completed, event set.
> PNPFILTR: Time taken for IRP_MN_START_DEVICE to get processed for the PDO
> 866416A8 is 196 miliseconds
> PNPFILTR: Completing Start request with status == 0x00000002 PDO =
> 0x866416A8
> PNPFILTR: Received IRP_MN_QUERY_INTERFACE which I am simply passing down
> PNPFILTR: Received IRP_MN_QUERY_CAPABILITIES which I am simply passing
> down
> PNPFILTR: Received IRP_MN_QUERY_PNP_DEVICE_STATE for stack with PDO
> 0x866416A8
> PNPFILTR: FilterCompletionRoutine Completed, event set.
> PNPFILTR: Completing IRP_MN_QUERY_PNP_DEVICE_STATE for PDO 0x866416A8 with
> status 0x00000000 and information 0x00000000
> PNPFILTR: List has 0 entries
> PNPFILTR: Processed 0 IRPs
> PNPFILTR: List has 0 entries
> PNPFILTR: Processed 0 IRPs
> PNPFILTR: Passing down unhandled PNP IRP - minor function = 0xff
> PNPFILTR: Received IRP_MN_QUERY_DEVICE_RELATIONS which I am simply
> passing
> down
> PNPFILTR: Received IRP_MN_QUERY_DEVICE_RELATIONS which I am simply
> passing
> down
> PNPFILTR: Received IRP_MN_QUERY_DEVICE_TEXT which I am simply passing
> down
> PNPFILTR: Received IRP_MN_QUERY_ID which I am simply passing down
> PNPFILTR: Received IRP_MN_QUERY_DEVICE_RELATIONS which I am simply
> passing
> down
> PNPFILTR: Received IRP_MN_QUERY_INTERFACE which I am simply passing down
> PNPFILTR: Received IRP_MN_QUERY_INTERFACE which I am simply passing down
> PNPFILTR: Received IRP_MN_QUERY_DEVICE_RELATIONS which I am simply
> passing
> down
> PNPFILTR: Received IRP_MN_QUERY_CAPABILITIES which I am simply passing
> down
> PNPFILTR: Received IRP_MN_QUERY_CAPABILITIES which I am simply passing
> down
> PNPFILTR: Received IRP_MN_QUERY_CAPABILITIES which I am simply passing
> down
> PNPFILTR: Received IRP_MN_QUERY_DEVICE_RELATIONS which I am simply
> passing
> down
> PNPFILTR: Received IOCTL_QUERY_DEVICE_COUNT
> PNPFILTR: Received IOCTL_QUERY_HARDWARE_ID_SIZE for PDO 0x866416A8
> PNPFILTR: Received IOCTL_QUERY_HARDWARE_ID for PDO 0x866416A8
> PNPFILTR: Received IOCTL_SURPRISE_REMOVE_DEVICE for PDO 0x866416A8
> PNPFILTR: Calling IoInvalidateDeviceState to start rebalance on PDO
> 866416A8
> PNPFILTR: Received IRP_MN_QUERY_PNP_DEVICE_STATE for stack with PDO
> 0x866416A8
> PNPFILTR: FilterCompletionRoutine Completed, event set.
> PNPFILTR: Completing IRP_MN_QUERY_PNP_DEVICE_STATE for PDO 0x866416A8 with
> status 0x00000000 and information 0x00000004
> PNPFILTR: Received IRP_MN_QUERY_DEVICE_RELATIONS which I am simply
> passing
> down
> PNPFILTR: Received IRP_MN_QUERY_DEVICE_RELATIONS which I am simply
> passing
> down
> PNPFILTR: Received IRP_MN_SURPRISE_REMOVAL for stack with PDO 0x866416A8
> PNPFILTR: FilterSurpriseRemove returning 0x00000004 for stack with PDO
> 0x866416A8
> PNPFILTR: Received IRP_MN_REMOVE_DEVICE for stack with PDO 0x866416A8
> PNPFILTR: Setting the test completed event
> PNPFILTR: Waiting for result to be stored