I got a usb host client driver that works fine on Windows XP and Windows Vista but it causes an operating system hang on Windows 7. The initial exchange happens properly, device descriptors, configuration and interface descriptors are all got from the connected device without a glitch but as soon as a bulk transfer is initiated the system crashes. The exact point of the crash is when my driver passes an Irp for IOCTL_INTERNAL_USB_SUBMIT_URB to lower drivers using IoCallDriver. The IoCallDriver function does not return.
I am getting following debug analysis:
IoBuildDeviceIoControlRequestAssertion failure - code c0000420 (first
chance)
nt!MmBuildMdlForNonPagedPool+0x131:
826aa6f5 cd2c int 2c
0: kd> ! analyze -v
Connected to Windows Longhorn 7000 x86 compatible target, ptr64 FALSE
*** ERROR: Symbol file could not be found. Defaulted to export
symbols for ntkrpamp.exe -
Loading Kernel Symbols
.................................................................................................... ..........................................................................
Loading unloaded module list
......
Loading User Symbols
.....................................
*******************************************************************************
*
*
* Bugcheck
Analysis *
*
*
*******************************************************************************
Unknown bugcheck code (0)
Unknown bugcheck description
Arguments:
Arg1: 00000000
Arg2: 00000000
Arg3: 00000000
Arg4: 00000000
Debugging Details:
------------------
***** Kernel symbols are WRONG. Please fix symbols to do analysis.
*************************************************************************
***
***
***
***
*** Your debugger is not using the correct symbols
***
***
***
*** In order for this command to work properly, your symbol path
***
*** must point to .pdb files that have full type information.
***
***
***
*** Certain .pdb files (such as the public OS symbols) do not
***
*** contain the required information. Contact the group that
***
*** provided you with these symbols if you need this command to
***
*** work.
***
***
***
*** Type referenced: nt!_KPRCB
***
***
***
*************************************************************************
Bookmarks