I encounter this USBHUB warning when tried to test our USB device on customer’s notebook with XP SP2 and checked OS USB drivers. Usually immediatelly after device open. !analyze -v shows following stack:
f88dc8bc aa7a47ff f88dc8e4 aa7a9b0a 00000000 nt!DbgBreakPoint
f88dc8c4 aa7a9b0a 00000000 aa7a98e8 00000001 usbhub!UsbhWarning+0x53
f88dc8e4 aa7bcade 822665b0 821528b8 82152970 usbhub!USBH_PdoWaitWake+0x1de
f88dc904 aa7a430c 82152970 822664f8 00000000 usbhub!USBH_PdoPower+0x4d2
f88dc92c aa79d986 822665b0 821528b8 f88dc964 usbhub!USBH_PdoDispatch+0xc6
f88dc93c 804eeeb1 822664f8 821528b8 82152970 usbhub!USBH_HubDispatch+0x48
f88dc94c 80525f9b 8215298c 821529b0 821528b8 nt!IopfCallDriver+0x31
f88dc964 aa17eac0 822664f8 822666e0 80562248 nt!PoCallDriver+0x7b
f88dc9e8 804eeeb1 821ff030 821528b8 82152994 tcusb!DispatchPower+0x5e2 [e:\build\tcdrv\build-0055-main\src\tcdrv\bulkpwr.c @ 161]
f88dc9f8 80525f9b 821529b8 821528b8 821ff030 nt!IopfCallDriver+0x31
f88dca10 80526225 821ff030 821ff4a0 821010e7 nt!PoCallDriver+0x7b
f88dca2c aa188346 822664f8 00000000 00000001 nt!PoRequestPowerIrp+0x129
f88dca84 aa18a429 821ff0e8 f88dcdcc 80538aa0 tcusb!IssueWaitWake+0x310 [e:\build\tcdrv\build-0055-main\src\tcdrv\bulkpwr.c @ 1347]
f88dcad0 80525af1 822664f8 00000000 00000001 tcusb!WaitWakeCallback+0x2d3 [e:\build\tcdrv\build-0055-main\src\tcdrv\bulkpwr.c @ 1481]
f88dcb00 804f13e2 821ff030 82101008 aa18a156 nt!PopCompleteRequestIrp+0x55
f88dcb30 aa7a762a 82101008 f88dcb78 00000000 nt!IopfCompleteRequest+0xa2
f88dcb44 aa7a8564 820f8d50 82101008 00000000 usbhub!USBH_CompletePowerIrp+0x7e
f88dcb60 aa7a85cd 820f8d50 f88dcb78 00000000 usbhub!USBH_HubCompleteQueuedPortWakeIrps+0x36
f88dcb80 aa7a87c3 820f8d50 00000000 81a56423 usbhub!USBH_HubCompletePortWakeIrps+0x4d
f88dcb9c 80525af1 820e7608 00000002 00000001 usbhub!USBH_FdoPoRequestD0Completion+0x4d
f88dcbcc 804f13e2 820f8c98 81a56320 aa7a8776 nt!PopCompleteRequestIrp+0x55
f88dcbfc aa7a762a 820e77d8 820e76c0 81a56320 nt!IopfCompleteRequest+0xa2
f88dcc10 aa7bc105 82210d50 81a56320 00000000 usbhub!USBH_CompletePowerIrp+0x7e
f88dcc30 aa7bcad2 82210d50 00000000 81a563fc usbhub!USBH_PdoSetPower+0x235
f88dcc50 aa7a430c 81a563fc 820e7608 00000002 usbhub!USBH_PdoPower+0x4c6
f88dcc78 aa79d986 820e76c0 81a56320 f88dccac usbhub!USBH_PdoDispatch+0xc6
f88dcc88 804eeeb1 820e7608 81a56320 81a563fc usbhub!USBH_HubDispatch+0x48
f88dcc98 80525b9b 00000000 81a56320 00000000 nt!IopfCallDriver+0x31
f88dccac 80525f14 81a563fc 81a56320 820e77d8 nt!PopPresentIrp+0x57
f88dccd4 aa7a75c4 81a563fc 820e77d8 820e76c0 nt!PoStartNextPowerIrp+0x2e6
f88dccec aa7bc105 82210d50 8219f008 00000000 usbhub!USBH_CompletePowerIrp+0x18
f88dcd0c aa7bcad2 82210d50 00000000 8219f0e4 usbhub!USBH_PdoSetPower+0x235
f88dcd2c aa7a430c 8219f0e4 820e7608 00000002 usbhub!USBH_PdoPower+0x4c6
f88dcd54 aa79d986 820e76c0 8219f008 f88dcd7c usbhub!USBH_PdoDispatch+0xc6
f88dcd64 804eeeb1 820e7608 8219f008 8056375c usbhub!USBH_HubDispatch+0x48
f88dcd74 80525a25 f88dcdac 80537757 8219f008 nt!IopfCallDriver+0x31
f88dcd7c 80537757 8219f008 00000000 823c5020 nt!PopPassivePowerCall+0x13
f88dcdac 805ce794 8219f008 00000000 00000000 nt!ExpWorkerThread+0xef
f88dcddc 805450ce 80537668 00000001 00000000 nt!PspSystemThreadStartup+0x34
00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16
TcUsb is my driver and USBHUB complains when it resends Wait Wake IRP from its wait wake callback. Driver uses the same logic as BulkUsb DDK sample i.e. when device isn’t in D0, it requests D0 IRP and then issues WW IRP when enabled. Something wrong with this approach?
I wouldn’t care too much but USBHUB issues breakpoint after this warning which causes BSOD when debugger isn’t attached. I’d prefer to not attach debugger because we test ESDs and any other cable attached changes behavior.
Best regards,
Michal Vodicka
UPEK, Inc.
[xxxxx@upek.com, http://www.upek.com]