none
Driver fails to unload after PNP test in parent child driver architecture RRS feed

  • Question

  •  We have parent child driver architecture for one of our USB smartcard reader. When the USB device is connected parent driver will load this will enumerate child PDO's (for multi slot architecture) for which another functional driver will load. Things were working fine and we have got this driver signed till Win 7. When we ran latest HCK we encountered PNP test failures under Windows server 2003 alone, test passed in rest of the OS. During PNP test the tool loads PNP filter driver, this step passes. It issues a series of PNP calls this step also passes after the test it unloads the PNP filter driver during this phase though the filter driver is unloaded the functional driver is not properly unloaded and reloaded because of which if we un-plug the device "remove device" PNP callback of the parent driver never gets called. Initially thought this could be the way we create the child PDO or handle the device relation call but no code change resolved the issue. Finally did a cross check by loading the toaster sample bus driver instead of our parent driver and toaster functional driver instead of our child driver. I could observe the same issue in this environment as well. I have pasted the debug trace of both the drivers. 1. Loading of 2 drivers, debug mssg during PNP test and when I unplug the device "unload" debug mssg of the toaster bus driver never gets called. No yellow mark in device manager it just says I need to reboot the system for the driver to work properly.


    00000000 0.00000000 BusEnum.SYS:
    00000001 0.00000453 Driver Entry
    00000002 0.00012082 BusEnum.SYS:
    00000003 0.00012618 Add Device: 0xFFFFFADFE76813E0
    00000004 0.00017354 BusEnum.SYS:
    00000005 0.00018019 AddDevice: FFFFFADFE6F01BB0 to FFFFFADFE76813E0->FFFFFADFE76813E0 (\Device\USBPDO-4)
    00000006 0.00019306 BusEnum.SYS:
    00000007 0.00019696 FDO IRP_MN_QUERY_LEGACY_BUS_INFORMATION IRP:0xFFFFFADFE74D8800
    00000008 0.00027523 BusEnum.SYS:
    00000009 0.00028160 FDO IRP_MN_QUERY_RESOURCE_REQUIREMENTS IRP:0xFFFFFADFE74D8800
    00000010 0.00032152 BusEnum.SYS:
    00000011 0.00032565 FDO IRP_MN_FILTER_RESOURCE_REQUIREMENTS IRP:0xFFFFFADFE74D8800
    00000012 0.00033815 BusEnum.SYS:
    00000013 0.00034177 FDO IRP_MN_START_DEVICE IRP:0xFFFFFADFE74D8800
    00000014 0.00048170 BusEnum.SYS:
    00000015 0.00048476 MK 6c
    00000016 0.00048706 BusEnum.SYS:
    00000017 0.00049265 Exposing PDO
    00000018 0.00049310 ======SerialNo:   1
    00000019 0.00049386 ======HardwareId:     {B85B7C50-6A01-11d2-B841-00C04FAD5171}\MsToaster
    00000020 0.00049431 ======Length:         50
    00000021 0.00049477 ======Size    8
    00000022 0.00049709 BusEnum.SYS:
    00000023 0.00050035 FdoData->NextLowerDriver = 0xFFFFFADFE76813E0
    00000024 0.00068258 BusEnum.SYS:
    00000025 0.00068753 FDO IRP_MN_QUERY_CAPABILITIES IRP:0xFFFFFADFE74D8800
    00000026 0.00071376 BusEnum.SYS:
    00000027 0.00071816 FDO IRP_MN_QUERY_PNP_DEVICE_STATE IRP:0xFFFFFADFE74D8800
    00000028 0.00076080 BusEnum.SYS:
    00000029 0.00076516 FDO IRP_MN_QUERY_DEVICE_RELATIONS IRP:0xFFFFFADFE74D8800
    00000030 0.00076837  QueryDeviceRelation Type: BusRelations
    00000031 0.00077203  #PDOS present = 1
    00000032 0.00077250  #PDOs reported = 1
    00000033 0.00078506 BusEnum.SYS:
    00000034 0.00078892 PDO IRP_MN_QUERY_ID IRP: 0xFFFFFADFE74F1EE0
    00000035 0.00079440  QueryId Type: BusQueryDeviceID
    00000036 0.00080649 BusEnum.SYS:
    00000037 0.00081007 PDO IRP_MN_QUERY_CAPABILITIES IRP: 0xFFFFFADFE74F1EE0
    00000038 0.00081367 BusEnum.SYS:
    00000039 0.00081694 FDO IRP_MN_QUERY_CAPABILITIES IRP:0xFFFFFADFE74D8800
    00000040 0.00083394 BusEnum.SYS:
    00000041 0.00083748 PDO IRP_MN_QUERY_DEVICE_TEXT IRP: 0xFFFFFADFE74F1EE0
    00000042 0.00084467  DeviceTextDescription :Microsoft_Eliyas_Toaster_01
    00000043 0.00085413 BusEnum.SYS:
    00000044 0.00085754 PDO IRP_MN_QUERY_DEVICE_TEXT IRP: 0xFFFFFADFE74F1EE0
    00000045 0.00086026  DeviceTextLocationInformation: Unknown
    00000046 0.00086962 BusEnum.SYS:
    00000047 0.00087291 PDO IRP_MN_QUERY_ID IRP: 0xFFFFFADFE74F1EE0
    00000048 0.00087567  QueryId Type: BusQueryInstanceID
    00000049 0.00087925  InstanceID: 01
    00000050 0.00095250 BusEnum.SYS:
    00000051 0.00095682 PDO IRP_MN_QUERY_ID IRP: 0xFFFFFADFE74F1EE0
    00000052 0.00095953  QueryId Type: BusQueryHardwareIDs
    00000053 0.00097159 BusEnum.SYS:
    00000054 0.00097506 PDO IRP_MN_QUERY_ID IRP: 0xFFFFFADFE74F1EE0
    00000055 0.00097785  QueryId Type: BusQueryCompatibleIDs
    00000056 0.00099315 BusEnum.SYS:
    00000057 0.00099724 PDO IRP_MN_QUERY_RESOURCE_REQUIREMENTS IRP: 0xFFFFFADFE74F1EE0
    00000058 0.00101219 BusEnum.SYS:
    00000059 0.00101597 PDO IRP_MN_QUERY_BUS_INFORMATION IRP: 0xFFFFFADFE74F1EE0
    00000060 0.00115032 BusEnum.SYS:
    00000061 0.00115764 PDO IRP_MN_QUERY_RESOURCES IRP: 0xFFFFFADFE74F1EE0
    00000062 0.00199161 BusEnum.SYS:
    00000063 0.00199795 PDO IRP_MN_QUERY_LEGACY_BUS_INFORMATION IRP: 0xFFFFFADFE74D8800
    00000064 0.00207596 BusEnum.SYS:
    00000065 0.00208293 PDO IRP_MN_QUERY_RESOURCE_REQUIREMENTS IRP: 0xFFFFFADFE74D8800
    00000066 0.00210741 BusEnum.SYS:
    00000067 0.00211163 PDO IRP_MN_FILTER_RESOURCE_REQUIREMENTS IRP: 0xFFFFFADFE74D8800
    00000068 0.00212673 BusEnum.SYS:
    00000069 0.00213054 PDO IRP_MN_START_DEVICE IRP: 0xFFFFFADFE74D8800
    00000070 0.00218052 BusEnum.SYS:
    00000071 0.00218483 PDO IRP_MN_QUERY_CAPABILITIES IRP: 0xFFFFFADFE74D9CF0
    00000072 0.00218850 BusEnum.SYS:
    00000073 0.00219187 FDO IRP_MN_QUERY_CAPABILITIES IRP:0xFFFFFADFE6E449D0
    00000074 0.00234081 BusEnum.SYS:
    00000075 0.00234587 PDO IRP_MN_QUERY_CAPABILITIES IRP: 0xFFFFFADFE74D8800
    00000076 0.00234909 BusEnum.SYS:
    00000077 0.00235241 FDO IRP_MN_QUERY_CAPABILITIES IRP:0xFFFFFADFE74D9CF0
    00000078 0.00238504 BusEnum.SYS:
    00000079 0.00238945 PDO IRP_MN_QUERY_PNP_DEVICE_STATE IRP: 0xFFFFFADFE74D8800
    00000080 0.00240243 BusEnum.SYS:
    00000081 0.00240620 PDO IRP_MN_QUERY_DEVICE_RELATIONS IRP: 0xFFFFFADFE74D8800
    00000082 0.00240927  QueryDeviceRelation Type: BusRelations
    00000083 0.00242312 BusEnum.SYS:
    00000084 0.00242676 FDO IRP_MN_QUERY_DEVICE_RELATIONS IRP:0xFFFFFADFE74D8800
    00000085 0.00242963  QueryDeviceRelation Type: BusRelations
    00000086 0.00243312  #PDOS present = 1
    00000087 0.00243361  #PDOs reported = 1
    00000088 0.00244461 BusEnum.SYS:
    00000089 0.00244815 PDO IRP_MN_QUERY_DEVICE_RELATIONS IRP: 0xFFFFFADFE74D8800
    00000090 0.00245084  QueryDeviceRelation Type: BusRelations
    00000091 0.00247271 BusEnum.SYS:
    00000092 0.00247584 FDO: unknown_syscontrol_irp
    00000093 0.00252785 BusEnum.SYS:
    00000094 0.00253116 FDO: unknown_syscontrol_irp
    00000095 3.62548614 [1460] Pnpdtest started on 10/24/2012 at 18:29:15
    00000096 3.62548614 [1460] with command line:"C:\Documents and Settings\Administrator\Desktop\PNP\pnpdtest.exe"
    00000097 3.62548614 [1460]
    00000098 3.62548614 [1460]
    00000099 3.62548614 [1460] 
    00000100 3.62559152 [1460] Start: Process Command line args, TUID=(null)
    00000101 3.62564445 [1460] End: Pass, Process Command line args, TUID=, Repro=Process Command line args
    00000102 3.62564445 [1460] 
    00000103 3.69788575 [1460] Updating debug params
    00000104 3.69788575 [1460] 
    00000105 7.11782455 [1460] Start: Surprise Remove, TUID=(null)
    00000106 7.11912107 [1460] Installing the filter driver Recursively on USB\Vid_04e6&Pid_512c\21121042208537 and its subtree...
    00000107 7.11912107 [1460] 
    00000108 7.59911394 BusEnum.SYS:
    00000109 7.59912300 PDO IRP_MN_QUERY_DEVICE_RELATIONS IRP: 0xFFFFFADFE6E449D0
    00000110 7.59912729  QueryDeviceRelation Type: RemovalRelations
    00000111 7.59914255 BusEnum.SYS:
    00000112 7.59914637 FDO IRP_MN_QUERY_DEVICE_RELATIONS IRP:0xFFFFFADFE6E449D0
    00000113 7.59914875  QueryDeviceRelation Type: RemovalRelations
    00000114 7.59919119 BusEnum.SYS:
    00000115 7.59919500 PDO IRP_MN_QUERY_REMOVE_DEVICE IRP: 0xFFFFFADFE6E449D0
    00000116 7.59919930 BusEnum.SYS:
    00000117 7.59920311 FDO IRP_MN_QUERY_REMOVE_DEVICE IRP:0xFFFFFADFE6E449D0
    00000118 7.65502119 BusEnum.SYS:
    00000119 7.65502691 PDO IRP_MN_REMOVE_DEVICE IRP: 0xFFFFFADFE6E449D0
    00000120 7.65638304 BusEnum.SYS:
    00000121 7.65638590 FDO IRP_MN_REMOVE_DEVICE IRP:0xFFFFFADFE6E449D0
    00000122 7.65643501  Deleting PDO: 0xFFFFFADFE70EA1C0
    00000123 7.65677357  Deleting FDO: 0xFFFFFADFE6F01BB0
    00000124 7.65780497 BusEnum.SYS:
    00000125 7.65804148 Unload
    00000126 7.72538280 BusEnum.SYS:
    00000127 7.72538519 Driver Entry
    00000128 7.72545099 BusEnum.SYS:
    00000129 7.72545385 Add Device: 0xFFFFFADFE76813E0
    00000130 7.72547960 BusEnum.SYS:
    00000131 7.72548294 AddDevice: FFFFFADFE6E79D50 to FFFFFADFE76813E0->FFFFFADFE76813E0 (\Device\USBPDO-4)
    00000132 7.72552824 PNPFILTR: Events being initialized
    00000133 7.72553873 PNPFILTR: Received IRP_MN_QUERY_LEGACY_BUS_INFORMATION  which I am simply passing down
    00000134 7.72554016 BusEnum.SYS:
    00000135 7.72554207 FDO IRP_MN_QUERY_LEGACY_BUS_INFORMATION IRP:0xFFFFFADFE5EFC010
    00000136 7.72557020 PNPFILTR: Received IRP_MN_QUERY_RESOURCE_REQUIREMENTS  which I am simply passing down
    00000137 7.72557116 BusEnum.SYS:
    00000138 7.72557306 FDO IRP_MN_QUERY_RESOURCE_REQUIREMENTS IRP:0xFFFFFADFE5EFC010
    00000139 7.72559690 PNPFILTR: Received IRP_MN_FILTER_RESOURCE_REQUIREMENT for stack with PDO 0xFFFFFADFE76813E0
    00000140 7.72559881 BusEnum.SYS:
    00000141 7.72560024 FDO IRP_MN_FILTER_RESOURCE_REQUIREMENTS IRP:0xFFFFFADFE5EFC010
    00000142 7.72560310 PNPFILTR: FilterCompletionRoutine Completed, event set.
    00000143 7.72560644 PNPFILTR: FilterFilterResourceRequirement returning 0x0000000000000000 for stack with PDO 0xFFFFFADFE76813E0
    00000144 7.72563028 PNPFILTR: Received IRP_MN_START_DEVICE for stack with PDO 0xFFFFFADFE76813E0
    00000145 7.72563124 BusEnum.SYS:
    00000146 7.72563362 FDO IRP_MN_START_DEVICE IRP:0xFFFFFADFE5EFC010
    00000147 7.92944574 PNPFILTR: FilterCompletionRoutine Completed, event set.
    00000148 7.92945099 BusEnum.SYS:
    00000149 7.92945385 MK 6c
    00000150 7.92945480 BusEnum.SYS:
    00000151 7.92945910 Exposing PDO
    00000152 7.92945910 ======SerialNo:   1
    00000153 7.92945957 ======HardwareId:     {B85B7C50-6A01-11d2-B841-00C04FAD5171}\MsToaster
    00000154 7.92945957 ======Length:         50
    00000155 7.92946005 ======Size    8
    00000156 7.92946148 BusEnum.SYS:
    00000157 7.92946339 FdoData->NextLowerDriver = 0xFFFFFADFE76813E0
    00000158 7.92952919 PNPFILTR: Time taken for IRP_MN_START_DEVICE to get processed for the PDO FFFFFADFE76813E0 is 203 miliseconds
    00000159 7.92953348 PNPFILTR: Completing Start request with status == 0x0000000000000000 PDO = 0xFFFFFADFE76813E0
    00000160 7.92962551 PNPFILTR: Received IRP_MN_QUERY_CAPABILITIES  which I am simply passing down
    00000161 7.92962742 BusEnum.SYS:
    00000162 7.92963028 FDO IRP_MN_QUERY_CAPABILITIES IRP:0xFFFFFADFE5EFC010
    00000163 7.92965126 PNPFILTR: Received IRP_MN_QUERY_PNP_DEVICE_STATE for stack with PDO 0xFFFFFADFE76813E0
    00000164 7.92965317 BusEnum.SYS:
    00000165 7.92965508 FDO IRP_MN_QUERY_PNP_DEVICE_STATE IRP:0xFFFFFADFE5EFC010
    00000166 7.92965698 PNPFILTR: FilterCompletionRoutine Completed, event set.
    00000167 7.92966127 PNPFILTR: Completing IRP_MN_QUERY_PNP_DEVICE_STATE for PDO 0xFFFFFADFE76813E0 with status 0x0000000000000000 and information 0x0000000000000000
    00000168 7.92966986 PNPFILTR: Received IRP_MN_QUERY_DEVICE_RELATIONS  which I am simply passing down
    00000169 7.92967081 BusEnum.SYS:
    00000170 7.92967319 FDO IRP_MN_QUERY_DEVICE_RELATIONS IRP:0xFFFFFADFE5EFC010
    00000171 7.92967510  QueryDeviceRelation Type: BusRelations
    00000172 7.92967701  #PDOS present = 1
    00000173 7.92967701  #PDOs reported = 1
    00000174 7.92968512 BusEnum.SYS:
    00000175 7.92968702 PDO IRP_MN_QUERY_ID IRP: 0xFFFFFADFE5EE04D0
    00000176 7.92969036  QueryId Type: BusQueryDeviceID
    00000177 7.92969656 BusEnum.SYS:
    00000178 7.92969894 PDO IRP_MN_QUERY_CAPABILITIES IRP: 0xFFFFFADFE5EE04D0
    00000179 7.92970133 PNPFILTR: Received IRP_MN_QUERY_CAPABILITIES  which I am simply passing down
    00000180 7.92970276 BusEnum.SYS:
    00000181 7.92970467 FDO IRP_MN_QUERY_CAPABILITIES IRP:0xFFFFFADFE5EFC010
    00000182 7.92971325 BusEnum.SYS:
    00000183 7.92971516 PDO IRP_MN_QUERY_DEVICE_TEXT IRP: 0xFFFFFADFE5EE04D0
    00000184 7.92971992  DeviceTextDescription :Microsoft_Eliyas_Toaster_01
    00000185 7.92972469 BusEnum.SYS:
    00000186 7.92972660 PDO IRP_MN_QUERY_DEVICE_TEXT IRP: 0xFFFFFADFE5EE04D0
    00000187 7.92972803  DeviceTextLocationInformation: Unknown
    00000188 7.92973232 BusEnum.SYS:
    00000189 7.92973423 PDO IRP_MN_QUERY_ID IRP: 0xFFFFFADFE5EE04D0
    00000190 7.92973566  QueryId Type: BusQueryInstanceID
    00000191 7.92973757  InstanceID: 01
    00000192 7.92977953 BusEnum.SYS:
    00000193 7.92978144 PDO IRP_MN_QUERY_ID IRP: 0xFFFFFADFE5EE04D0
    00000194 7.92978287  QueryId Type: BusQueryHardwareIDs
    00000195 7.92978907 BusEnum.SYS:
    00000196 7.92979050 PDO IRP_MN_QUERY_ID IRP: 0xFFFFFADFE5EE04D0
    00000197 7.92979193  QueryId Type: BusQueryCompatibleIDs
    00000198 7.92980003 BusEnum.SYS:
    00000199 7.92980194 PDO IRP_MN_QUERY_RESOURCE_REQUIREMENTS IRP: 0xFFFFFADFE5EE04D0
    00000200 7.92981052 BusEnum.SYS:
    00000201 7.92981243 PDO IRP_MN_QUERY_BUS_INFORMATION IRP: 0xFFFFFADFE5EE04D0
    00000202 7.92983961 BusEnum.SYS:
    00000203 7.92984152 PDO IRP_MN_QUERY_RESOURCES IRP: 0xFFFFFADFE5EE04D0
    00000204 7.93030930 BusEnum.SYS:
    00000205 7.93031263 PDO IRP_MN_QUERY_LEGACY_BUS_INFORMATION IRP: 0xFFFFFADFE5EFC010
    00000206 7.93033838 BusEnum.SYS:
    00000207 7.93034029 PDO IRP_MN_QUERY_RESOURCE_REQUIREMENTS IRP: 0xFFFFFADFE5EFC010
    00000208 7.93035221 BusEnum.SYS:
    00000209 7.93035460 PDO IRP_MN_FILTER_RESOURCE_REQUIREMENTS IRP: 0xFFFFFADFE5EFC010
    00000210 7.93038464 BusEnum.SYS:
    00000211 7.93038702 PDO IRP_MN_START_DEVICE IRP: 0xFFFFFADFE5EFC010
    00000212 7.93041468 BusEnum.SYS:
    00000213 7.93041801 PDO IRP_MN_QUERY_CAPABILITIES IRP: 0xFFFFFADFE6E449D0
    00000238 8.01896381 [1460] Running Surprise Removal Test on node with hwid:
    00000239 8.01922703 [1460] USB\Vid_04e6&Pid_512c&Rev_0745
    00000283 8.17101383 [1460] Relevant Sequence of Irps:
    00000284 8.25783443 [1460] IRP_MN_QUERY_PNP_DEVICE_STATE
    00000285 8.26090813 [1460] IRP_MN_QUERY_DEVICE_RELATIONS
    00000286 8.34462070 [1460] IRP_MN_SURPRISE_REMOVAL
    00000287 8.34469795 [1460] IRP_MN_REMOVE_DEVICE
    00000214 7.93042135 PNPFILTR: Received IRP_MN_QUERY_CAPABILITIES  which I am simply passing down
    00000215 7.93042326 BusEnum.SYS:
    00000216 7.93042469 FDO IRP_MN_QUERY_CAPABILITIES IRP:0xFFFFFADFE75D7410
    00000217 7.93050289 BusEnum.SYS:
    00000218 7.93050528 PDO IRP_MN_QUERY_CAPABILITIES IRP: 0xFFFFFADFE5EFC010
    00000219 7.93050814 PNPFILTR: Received IRP_MN_QUERY_CAPABILITIES  which I am simply passing down
    00000220 7.93050957 BusEnum.SYS:
    00000221 7.93051147 FDO IRP_MN_QUERY_CAPABILITIES IRP:0xFFFFFADFE6E449D0
    00000222 7.93052769 BusEnum.SYS:
    00000223 7.93053007 PDO IRP_MN_QUERY_PNP_DEVICE_STATE IRP: 0xFFFFFADFE5EFC010
    00000224 7.93053722 BusEnum.SYS:
    00000225 7.93053865 PDO IRP_MN_QUERY_DEVICE_RELATIONS IRP: 0xFFFFFADFE5EFC010
    00000226 7.93054056  QueryDeviceRelation Type: BusRelations
    00000227 7.93055105 PNPFILTR: Received IRP_MN_QUERY_DEVICE_RELATIONS  which I am simply passing down
    00000228 7.93055248 BusEnum.SYS:
    00000229 7.93055344 FDO IRP_MN_QUERY_DEVICE_RELATIONS IRP:0xFFFFFADFE5EFC010
    00000230 7.93055582  QueryDeviceRelation Type: BusRelations
    00000231 7.93055677  #PDOS present = 1
    00000232 7.93055773  #PDOs reported = 1
    00000233 7.93056297 BusEnum.SYS:
    00000234 7.93056488 PDO IRP_MN_QUERY_DEVICE_RELATIONS IRP: 0xFFFFFADFE5EFC010
    00000235 7.93056631  QueryDeviceRelation Type: BusRelations
    00000236 7.93057632 BusEnum.SYS:
    00000237 7.93057823 FDO: unknown_syscontrol_irp
    00000240 8.01929951 PNPFILTR: Received IOCTL_QUERY_DEVICE_COUNT
    00000241 8.01933002 PNPFILTR: Received IOCTL_QUERY_HARDWARE_ID_SIZE for PDO 0xFFFFFADFE76813E0
    00000242 8.01936436 PNPFILTR: Received IOCTL_QUERY_HARDWARE_ID for PDO 0xFFFFFADFE76813E0
    00000243 8.01939106 PNPFILTR: Received IOCTL_SURPRISE_REMOVE_DEVICE for PDO 0xFFFFFADFE76813E0
    00000244 8.01939487 PNPFILTR: Calling IoInvalidateDeviceState to start rebalance on PDO FFFFFADFE76813E0
    00000245 8.01940155 PNPFILTR: Received IRP_MN_QUERY_PNP_DEVICE_STATE for stack with PDO 0xFFFFFADFE76813E0
    00000246 8.01940346 BusEnum.SYS:
    00000247 8.01940632 FDO IRP_MN_QUERY_PNP_DEVICE_STATE IRP:0xFFFFFADFE5EFC010
    00000248 8.01941013 PNPFILTR: FilterCompletionRoutine Completed, event set.
    00000249 8.01941395 PNPFILTR: Completing IRP_MN_QUERY_PNP_DEVICE_STATE for PDO 0xFFFFFADFE76813E0 with status 0x0000000000000000 and information 0x0000000000000004
    00000250 8.01942921 BusEnum.SYS:
    00000251 8.01943111 PDO IRP_MN_QUERY_DEVICE_RELATIONS IRP: 0xFFFFFADFE5EFC010
    00000252 8.01943398  QueryDeviceRelation Type: RemovalRelations
    00000253 8.01944065 PNPFILTR: Received IRP_MN_QUERY_DEVICE_RELATIONS  which I am simply passing down
    00000254 8.01944256 BusEnum.SYS:
    00000255 8.01944447 FDO IRP_MN_QUERY_DEVICE_RELATIONS IRP:0xFFFFFADFE5EFC010
    00000256 8.01944542  QueryDeviceRelation Type: RemovalRelations
    00000257 8.01953602 BusEnum.SYS:
    00000258 8.01953888 PDO IRP_MN_SURPRISE_REMOVAL IRP: 0xFFFFFADFE5EFC010
    00000259 8.02063751 PNPFILTR: Received IRP_MN_SURPRISE_REMOVAL for stack with PDO 0xFFFFFADFE76813E0
    00000260 8.02064419 BusEnum.SYS:
    00000261 8.02064610 FDO IRP_MN_SURPRISE_REMOVAL IRP:0xFFFFFADFE5EFC010
    00000262 8.02073002 PNPFILTR: FilterSurpriseRemove returning 0x0000000000000000 for stack with PDO 0xFFFFFADFE76813E0
    00000263 8.02276230 BusEnum.SYS:
    00000264 8.02276897 PDO IRP_MN_REMOVE_DEVICE IRP: 0xFFFFFADFE5EFC010
    00000265 8.02277184  Deleting PDO: 0xFFFFFADFE6E4E060
    00000266 8.02284622 PNPFILTR: Received IRP_MN_REMOVE_DEVICE for stack with PDO 0xFFFFFADFE76813E0
    00000267 8.02284813 PNPFILTR: Setting the test completed event
    00000268 8.02285004 PNPFILTR: Waiting for result to be stored
    00000269 8.07448673 PNPFILTR: Recieved Query Result
    00000270 8.07449055 PNPFILTR: Waiting for test to be completed - will wait for 50 seconds
    00000271 8.07449341 PNPFILTR: Query Result Wait Satisfied...  4
    00000272 8.07449532 PNPFILTR: Number of IRPs Stored...  4
    00000273 8.07450390 PNPFILTR: Query Result - Releasing the remove
    00000274 8.07450771 PNPFILTR: Remove Wait completed... now deleting
    00000275 8.07451057 BusEnum.SYS:
    00000276 8.07451344 FDO IRP_MN_REMOVE_DEVICE IRP:0xFFFFFADFE5EFC010
    00000277 8.07460213 PNPFILTR: Query Result -Result Stored Event set
    00000278 8.07910538  Deleting FDO: 0xFFFFFADFE6E79D50
    00000279 8.07912064 PNPFILTR: Deleting the global control object
    00000280 8.07913399 PNPFILTR: FilterRemove returning 0x0000000000000000 for stack with PDO 0xFFFFFADFE76813E0
    00000281 8.07915878 BusEnum.SYS:
    00000282 8.07916069 Unload
    00000288 8.38388062 BusEnum.SYS:
    00000289 8.38388348 Driver Entry
    00000290 8.38395023 BusEnum.SYS:
    00000291 8.38395309 Add Device: 0xFFFFFADFE76813E0
    00000292 8.38397789 BusEnum.SYS:
    00000293 8.38398170 AddDevice: FFFFFADFE60FD060 to FFFFFADFE76813E0->FFFFFADFE76813E0 (\Device\USBPDO-4)
    00000294 8.38401604 PNPFILTR: Events being initialized
    00000295 8.38402557 PNPFILTR: Received IRP_MN_QUERY_LEGACY_BUS_INFORMATION  which I am simply passing down
    00000296 8.38402748 BusEnum.SYS:
    00000297 8.38402939 FDO IRP_MN_QUERY_LEGACY_BUS_INFORMATION IRP:0xFFFFFADFE5EFC010
    00000298 8.38405514 PNPFILTR: Received IRP_MN_QUERY_RESOURCE_REQUIREMENTS  which I am simply passing down
    00000299 8.38405704 BusEnum.SYS:
    00000300 8.38405991 FDO IRP_MN_QUERY_RESOURCE_REQUIREMENTS IRP:0xFFFFFADFE5EFC010
    00000301 8.38408089 PNPFILTR: Received IRP_MN_FILTER_RESOURCE_REQUIREMENT for stack with PDO 0xFFFFFADFE76813E0
    00000302 8.38408279 BusEnum.SYS:
    00000303 8.38408566 FDO IRP_MN_FILTER_RESOURCE_REQUIREMENTS IRP:0xFFFFFADFE5EFC010
    00000304 8.38408756 PNPFILTR: FilterCompletionRoutine Completed, event set.
    00000305 8.38409138 PNPFILTR: FilterFilterResourceRequirement returning 0x0000000000000000 for stack with PDO 0xFFFFFADFE76813E0
    00000306 8.38410664 PNPFILTR: Received IRP_MN_START_DEVICE for stack with PDO 0xFFFFFADFE76813E0
    00000307 8.38410854 BusEnum.SYS:
    00000308 8.38410950 FDO IRP_MN_START_DEVICE IRP:0xFFFFFADFE5EFC010
    00000309 8.58542252 PNPFILTR: FilterCompletionRoutine Completed, event set.
    00000310 8.58542824 BusEnum.SYS:
    00000311 8.58543015 MK 6c
    00000312 8.58543110 BusEnum.SYS:
    00000313 8.58543491 Exposing PDO
    00000314 8.58543491 ======SerialNo:   1
    00000315 8.58543491 ======HardwareId:     {B85B7C50-6A01-11d2-B841-00C04FAD5171}\MsToaster
    00000316 8.58543587 ======Length:         50
    00000317 8.58543587 ======Size    8
    00000318 8.58543777 BusEnum.SYS:
    00000319 8.58543968 FdoData->NextLowerDriver = 0xFFFFFADFE76813E0
    00000320 8.58550072 PNPFILTR: Time taken for IRP_MN_START_DEVICE to get processed for the PDO FFFFFADFE76813E0 is 203 miliseconds
    00000321 8.58550549 PNPFILTR: Completing Start request with status == 0x0000000000000000 PDO = 0xFFFFFADFE76813E0
    00000322 8.58559036 PNPFILTR: Received IRP_MN_QUERY_CAPABILITIES  which I am simply passing down
    00000323 8.58559227 BusEnum.SYS:
    00000324 8.58559418 FDO IRP_MN_QUERY_CAPABILITIES IRP:0xFFFFFADFE5EFC010
    00000325 8.58561611 PNPFILTR: Received IRP_MN_QUERY_PNP_DEVICE_STATE for stack with PDO 0xFFFFFADFE76813E0
    00000326 8.58561802 BusEnum.SYS:
    00000327 8.58561993 FDO IRP_MN_QUERY_PNP_DEVICE_STATE IRP:0xFFFFFADFE5EFC010
    00000328 8.58562183 PNPFILTR: FilterCompletionRoutine Completed, event set.
    00000329 8.58562565 PNPFILTR: Completing IRP_MN_QUERY_PNP_DEVICE_STATE for PDO 0xFFFFFADFE76813E0 with status 0x0000000000000000 and information 0x0000000000000000
    00000330 8.58563423 PNPFILTR: Received IRP_MN_QUERY_DEVICE_RELATIONS  which I am simply passing down
    00000331 8.58563519 BusEnum.SYS:
    00000332 8.58563709 FDO IRP_MN_QUERY_DEVICE_RELATIONS IRP:0xFFFFFADFE5EFC010
    00000333 8.58563900  QueryDeviceRelation Type: BusRelations
    00000334 8.58564091  #PDOS present = 1
    00000335 8.58564186  #PDOs reported = 1
    00000336 8.58564854 BusEnum.SYS:
    00000337 8.58565044 PDO IRP_MN_QUERY_ID IRP: 0xFFFFFADFE7123C00
    00000338 8.58565426  QueryId Type: BusQueryDeviceID
    00000339 8.58566093 BusEnum.SYS:
    00000340 8.58566284 PDO IRP_MN_QUERY_CAPABILITIES IRP: 0xFFFFFADFE7123C00
    00000341 8.58566570 PNPFILTR: Received IRP_MN_QUERY_CAPABILITIES  which I am simply passing down
    00000342 8.58566761 BusEnum.SYS:
    00000343 8.58566856 FDO IRP_MN_QUERY_CAPABILITIES IRP:0xFFFFFADFE5EFC010
    00000344 8.58567810 BusEnum.SYS:
    00000345 8.58568001 PDO IRP_MN_QUERY_DEVICE_TEXT IRP: 0xFFFFFADFE7123C00
    00000346 8.58568382  DeviceTextDescription :Microsoft_Eliyas_Toaster_01
    00000347 8.58568859 BusEnum.SYS:
    00000348 8.58569050 PDO IRP_MN_QUERY_DEVICE_TEXT IRP: 0xFFFFFADFE7123C00
    00000349 8.58569145  DeviceTextLocationInformation: Unknown
    00000350 8.58569717 BusEnum.SYS:
    00000351 8.58569813 PDO IRP_MN_QUERY_ID IRP: 0xFFFFFADFE7123C00
    00000352 8.58570004  QueryId Type: BusQueryInstanceID
    00000353 8.58570194  InstanceID: 01
    00000354 8.58574104 BusEnum.SYS:
    00000355 8.58574295 PDO IRP_MN_QUERY_ID IRP: 0xFFFFFADFE7123C00
    00000356 8.58574486  QueryId Type: BusQueryHardwareIDs
    00000357 8.58575153 BusEnum.SYS:
    00000358 8.58575344 PDO IRP_MN_QUERY_ID IRP: 0xFFFFFADFE7123C00
    00000359 8.58575439  QueryId Type: BusQueryCompatibleIDs
    00000360 8.58576202 BusEnum.SYS:
    00000361 8.58576488 PDO IRP_MN_QUERY_RESOURCE_REQUIREMENTS IRP: 0xFFFFFADFE7123C00
    00000362 8.58577347 BusEnum.SYS:
    00000363 8.58577538 PDO IRP_MN_QUERY_BUS_INFORMATION IRP: 0xFFFFFADFE7123C00
    00000364 8.58580112 BusEnum.SYS:
    00000365 8.58580399 PDO IRP_MN_QUERY_RESOURCES IRP: 0xFFFFFADFE7123C00
    00000366 8.58626747 BusEnum.SYS:
    00000367 8.58627129 PDO IRP_MN_QUERY_LEGACY_BUS_INFORMATION IRP: 0xFFFFFADFE5EFC010
    00000368 8.58629513 BusEnum.SYS:
    00000369 8.58629704 PDO IRP_MN_QUERY_RESOURCE_REQUIREMENTS IRP: 0xFFFFFADFE5EFC010
    00000370 8.58631039 BusEnum.SYS:
    00000371 8.58631229 PDO IRP_MN_FILTER_RESOURCE_REQUIREMENTS IRP: 0xFFFFFADFE5EFC010
    00000372 8.58632469 BusEnum.SYS:
    00000373 8.58632660 PDO IRP_MN_START_DEVICE IRP: 0xFFFFFADFE5EFC010
    00000374 8.58635139 BusEnum.SYS:
    00000375 8.58635330 PDO IRP_MN_QUERY_CAPABILITIES IRP: 0xFFFFFADFE6E449D0
    00000400 8.66803837 [1460] UnInstalling the filter driver from USB\Vid_04e6&Pid_512c\21121042208537...
    00000401 8.66803837 [1460] 
    00000376 8.58635712 PNPFILTR: Received IRP_MN_QUERY_CAPABILITIES  which I am simply passing down
    00000377 8.58635807 BusEnum.SYS:
    00000378 8.58635998 FDO IRP_MN_QUERY_CAPABILITIES IRP:0xFFFFFADFE75D7410
    00000379 8.58643436 BusEnum.SYS:
    00000380 8.58643627 PDO IRP_MN_QUERY_CAPABILITIES IRP: 0xFFFFFADFE5EFC010
    00000381 8.58643913 PNPFILTR: Received IRP_MN_QUERY_CAPABILITIES  which I am simply passing down
    00000382 8.58644104 BusEnum.SYS:
    00000383 8.58644199 FDO IRP_MN_QUERY_CAPABILITIES IRP:0xFFFFFADFE6E449D0
    00000384 8.58645916 BusEnum.SYS:
    00000385 8.58646107 PDO IRP_MN_QUERY_PNP_DEVICE_STATE IRP: 0xFFFFFADFE5EFC010
    00000386 8.58646774 BusEnum.SYS:
    00000387 8.58646965 PDO IRP_MN_QUERY_DEVICE_RELATIONS IRP: 0xFFFFFADFE5EFC010
    00000388 8.58647156  QueryDeviceRelation Type: BusRelations
    00000389 8.58648109 PNPFILTR: Received IRP_MN_QUERY_DEVICE_RELATIONS  which I am simply passing down
    00000390 8.58648300 BusEnum.SYS:
    00000391 8.58648491 FDO IRP_MN_QUERY_DEVICE_RELATIONS IRP:0xFFFFFADFE5EFC010
    00000392 8.58648586  QueryDeviceRelation Type: BusRelations
    00000393 8.58648777  #PDOS present = 1
    00000394 8.58648777  #PDOs reported = 1
    00000395 8.58649349 BusEnum.SYS:
    00000396 8.58649540 PDO IRP_MN_QUERY_DEVICE_RELATIONS IRP: 0xFFFFFADFE5EFC010
    00000397 8.58649731  QueryDeviceRelation Type: BusRelations
    00000398 8.58650684 BusEnum.SYS:
    00000399 8.58650780 FDO: unknown_syscontrol_irp
    00000402 8.78195572 BusEnum.SYS:
    00000403 8.78196144 PDO IRP_MN_QUERY_DEVICE_RELATIONS IRP: 0xFFFFFADFE5EFC010
    00000404 8.78196335  QueryDeviceRelation Type: RemovalRelations
    00000405 8.78198910 PNPFILTR: Received IRP_MN_QUERY_DEVICE_RELATIONS  which I am simply passing down
    00000406 8.78199100 BusEnum.SYS:
    00000407 8.78199291 FDO IRP_MN_QUERY_DEVICE_RELATIONS IRP:0xFFFFFADFE5EFC010
    00000408 8.78199577  QueryDeviceRelation Type: RemovalRelations
    00000409 8.78212547 BusEnum.SYS:
    00000410 8.78213024 PDO IRP_MN_QUERY_REMOVE_DEVICE IRP: 0xFFFFFADFE5EFC010
    00000411 8.78213406 PNPFILTR: Received IRP_MN_QUERY_REMOVE_DEVICE for stack with PDO 0xFFFFFADFE76813E0
    00000412 8.78213501 BusEnum.SYS:
    00000413 8.78213692 FDO IRP_MN_QUERY_REMOVE_DEVICE IRP:0xFFFFFADFE5EFC010
    00000414 8.78214073 PNPFILTR: FilterQueryRemove returning 0x0000000000000000 for stack with PDO 0xFFFFFADFE76813E0
    00000415 14.24783421 BusEnum.SYS:
    00000416 14.24785042 PDO IRP_MN_CANCEL_REMOVE_DEVICE IRP: 0xFFFFFADFE75D7410
    00000417 14.24792671 PNPFILTR: Received IRP_MN_CANCEL_REMOVE_DEVICE for stack with PDO 0xFFFFFADFE76813E0
    00000418 14.24793053 BusEnum.SYS:
    00000419 14.24793434 FDO IRP_MN_CANCEL_REMOVE_DEVICE IRP:0xFFFFFADFE75D7410
    00000420 14.24794102 PNPFILTR: FilterCompletionRoutine Completed, event set.
    00000421 14.24794674 PNPFILTR: Completing IRP Cancel Remove request for stack with PDO 0xFFFFFADFE76813E0
    00000422 14.24796009 PNPFILTR: FilterCancelRemove returning 0x0000000000000000 for stack with PDO 0xFFFFFADFE76813E0
    00000423 14.34189415 [1460] Filter driver removed - Test finished
    00000424 14.34189415 [1460]
    00000425 14.34189415 [1460] 
    00000426 15.73304272 PNPFILTR: Received IRP_MN_QUERY_DEVICE_RELATIONS  which I am simply passing down
    00000427 15.73305225 BusEnum.SYS:
    00000428 15.73305607 FDO IRP_MN_QUERY_DEVICE_RELATIONS IRP:0xFFFFFADFE6FF6010
    00000429 15.73305988  QueryDeviceRelation Type: BusRelations
    00000430 15.73306465  #PDOS present = 1
    00000431 15.73306465  #PDOs reported = 1
    00000432 15.73307991 BusEnum.SYS:
    00000433 15.73308372 PDO IRP_MN_QUERY_DEVICE_RELATIONS IRP: 0xFFFFFADFE6FF6010
    00000434 15.73308659  QueryDeviceRelation Type: BusRelations
    00000435 15.73369884 [1460] End: Pass, Surprise Remove, TUID=, Repro=Surprise Remove the device
    00000436 15.73369884 [1460] 
    00000000 0.00000000 BusEnum.SYS:  
    00000001 0.00000679 PDO IRP_MN_QUERY_DEVICE_RELATIONS IRP: 0xFFFFFADFE6E8E570 
    00000002 0.00001001  QueryDeviceRelation Type: RemovalRelations 
    00000003 0.00001993 BusEnum.SYS:  
    00000004 0.00002265 PDO IRP_MN_QUERY_DEVICE_RELATIONS IRP: 0xFFFFFADFE6E8E570 
    00000005 0.00002498  QueryDeviceRelation Type: EjectionRelations 
    00000006 0.00003459 PNPFILTR: Received IRP_MN_QUERY_DEVICE_RELATIONS  which I am simply passing down 
    00000007 0.00003643 BusEnum.SYS:  
    00000008 0.00003834 FDO IRP_MN_QUERY_DEVICE_RELATIONS IRP:0xFFFFFADFE6E8E570 
    00000009 0.00004027  QueryDeviceRelation Type: RemovalRelations 
    00000010 0.00004705 PNPFILTR: Received IRP_MN_QUERY_DEVICE_RELATIONS  which I am simply passing down 
    00000011 0.00004837 BusEnum.SYS:  
    00000012 0.00005007 FDO IRP_MN_QUERY_DEVICE_RELATIONS IRP:0xFFFFFADFE6E8E570 
    00000013 0.00005155  QueryDeviceRelation Type: EjectionRelations 
    00000014 0.00018107 BusEnum.SYS:  
    00000015 0.00018370 PDO IRP_MN_SURPRISE_REMOVAL IRP: 0xFFFFFADFE6E8E570 
    00000016 0.00144795 PNPFILTR: Received IRP_MN_SURPRISE_REMOVAL for stack with PDO 0xFFFFFADFE76813E0 
    00000017 0.00145672 BusEnum.SYS:  
    00000018 0.00145881 FDO IRP_MN_SURPRISE_REMOVAL IRP:0xFFFFFADFE6E8E570 
    00000019 0.00155612 PNPFILTR: FilterSurpriseRemove returning 0x0000000000000000 for stack with PDO 0xFFFFFADFE76813E0 

    Karthikeyan

    Wednesday, October 24, 2012 1:25 PM

Answers

  • if this is blocking certification, ask for a filter.

    d -- This posting is provided "AS IS" with no warranties, and confers no rights.

    Thursday, October 25, 2012 5:47 PM

All replies

  • I would guess that you are bug for bug compatible with the toaster busenum driver. try testing with the KMDF version of busenum (dynambus or staticbus) and see if you get the same error.

    d -- This posting is provided "AS IS" with no warranties, and confers no rights.

    Wednesday, October 24, 2012 4:27 PM
  • I tried with KMDF static bus sample for the parent driver and KMDF toaster featured sample for the child driver. I got the same result. After the test both drivers are in loaded state but in the driver properties tab for the parent driver it says the OS needs to be restarted for the device to work properly. When i did the same sequence under Win 7 it passed, it din't prompt for a reboot. When i compared the debug logs i could see that towards the end of the PNP test when the tool unloads the filter driver i can see that in Win 7 remove device call for the child device and getting processed successully and the parent driver also reloads. Wheras in case of Win 2003 after remove device it gets a Cancel remove device and the child driver does not unload and the parent driver gets into this error state. I have attached the screen shot for reference.


    Karthikeyan

    Thursday, October 25, 2012 9:47 AM
  • if this is blocking certification, ask for a filter.

    d -- This posting is provided "AS IS" with no warranties, and confers no rights.

    Thursday, October 25, 2012 5:47 PM