From time to time I receive a crashdump with USB bugcheck 0x8. Analysis shows problem probably occurs within a window between device unplug (hw event) and surprise removal IRP received by driver. If D0 IRP is sent in the meantime, OS USB drivers can't service it because device already isn't present. I'd expect completion with error but instead, it leads to this BSOD after some time (probably more than 30 sec).
Problem is only at Vista, as usual. Is there anything which can my driver do with it?
0: kd> !analyze -v
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************
BUGCODE_USB_DRIVER (fe)
USB Driver bugcheck, first parameter is USB bugcheck code.
Arguments:
Arg1: 00000008, USB Bugcheck Code:
Arg2: 00000006
Arg3: 00000001
Arg4: 8fb81000
Debugging Details:
DEFAULT_BUCKET_ID: INTEL_CPU_MICROCODE_ZERO
BUGCHECK_STR: 0xFE
PROCESS_NAME: System
CURRENT_IRQL: 0
LAST_CONTROL_TRANSFER: from 87b025a7 to 818d85c9
STACK_TEXT:
8229dc44 87b025a7 000000fe 00000008 00000006 nt!KeBugCheckEx+0x1e
8229dc60 87b027b9 8932b028 00000001 8fb81000 usbhub!UsbhTrapFatalTimeout_x9f+0x1a
8229dc98 87b09404 8932b028 00000102 0000ea60 usbhub!UsbhWaitEventWithTimeoutEx+0x114
8229dcc4 87b0949b 8932b028 8cf027b4 00000001 usbhub!UsbhSyncResumePort+0xa2
8229dce4 87b0cb4f 8cf02378 8cf027b4 8cf02378 usbhub!UsbhSyncResumeDeviceInternal+0x82
8229dd10 87af07dc 8932b028 00000000 8cfc9120 usbhub!UsbhPdoSetD0+0x190
8229dd30 8198c882 8932b028 8cf6f148 839e9020 usbhub!UsbhHubWorker+0x50
8229dd44 81878e18 92042580 00000000 839e9020 nt!IopProcessWorkItem+0x23
8229dd7c 81a254a8 92042580 82296680 00000000 nt!ExpWorkerThread+0xfd
8229ddc0 8189145e 81878d1b 00000000 00000000 nt!PspSystemThreadStartup+0x9d
00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16
STACK_COMMAND: kb
FOLLOWUP_IP:
usbhub!UsbhTrapFatalTimeout_x9f+1a
87b025a7 cc int 3
SYMBOL_STACK_INDEX: 1
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: usbhub
IMAGE_NAME: usbhub.sys
DEBUG_FLR_IMAGE_TIMESTAMP: 4549b278
SYMBOL_NAME: usbhub!UsbhTrapFatalTimeout_x9f+1a
FAILURE_BUCKET_ID: 0xFE_usbhub!UsbhTrapFatalTimeout_x9f+1a
BUCKET_ID: 0xFE_usbhub!UsbhTrapFatalTimeout_x9f+1a
Followup: MachineOwner
Best regards,
Michal Vodicka
UPEK, Inc.
[xxxxx@upek.com, http://www.upek.com]