I've been working with a USBIP driver for Windows 10 22H2. It's been performing well so far, however I get a BSOD occasionally after enumerating a new device.
The BSOD occurs when UsbHub3.sys attempts to get all the device descriptors from the USB device. The USBIP driver provides everything as required by UDE, however I get a BSOD with this trace:
STACK_TEXT:
fffff185`e75774c0 fffff802`369b5019 : 00000000`00000000 00000000`00000000 00000000`00000000 01000000`00100000 : nt!ExFreeHeapPool+0x76c
fffff185`e75775a0 fffff802`391b5b0d : 00000000`ffffffff 00000000`00000001 00000000`25102538 00000000`00000000 : nt!ExFreePool+0x9
fffff185`e75775d0 fffff802`391b40cb : 00000000`00000000 fffff185`e7577680 00000000`00000004 00000000`00000000 : Wdf01000!FxRegKey::`scalar deleting destructor'+0x8d
fffff185`e7577610 fffff802`391b2a46 : ffffce83`8ab19d00 fffff802`391ba67a 00000000`c0000034 0000317c`7305c3e8 : Wdf01000!FxObject::SelfDestruct+0x1b [minkernel\wdf\framework\shared\inc\private\common\fxobject.hpp @ 453]
fffff185`e7577640 fffff802`391b5f0d : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000001 : Wdf01000!FxObject::Release+0x106 [minkernel\wdf\framework\shared\inc\private\common\fxobject.hpp @ 884]
fffff185`e7577690 fffff802`391b3c08 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : Wdf01000!FxObject::DeleteObject+0x19d [minkernel\wdf\framework\shared\object\fxobjectstatemachine.cpp @ 124]
fffff185`e7577710 fffff802`3ca2e55e : 00000000`00000000 ffffce83`8cfa7d10 00000000`00000000 00000000`00000000 : Wdf01000!imp_WdfRegistryClose+0x78 [minkernel\wdf\framework\shared\support\fxregistryapi.cpp @ 327]
fffff185`e7577760 fffff802`3ca2c708 : ffffce83`8d3e9ce4 00000000`00000fa0 ffffce83`8d3e9718 00000000`0000afd1 : UsbHub3!HUBREG_QueryUsbflagsValuesForDevice+0xb4e
fffff185`e7577920 fffff802`3c9ce9e0 : 00000000`00000000 ffffce83`8efbc110 ffffce83`8d3e9718 00000000`ffffffff : UsbHub3!HUBMISC_QueryAndCacheRegistryValuesForDevice+0x54
fffff185`e7577990 fffff802`3c9ba737 : ffffce83`00000000 00000000`0000afd1 fffff185`00000000 01000000`00100000 : UsbHub3!HUBDSM_QueryingRegistryValuesForAlternateDeviceEnumeration+0x10
fffff185`e75779c0 fffff802`3c9baecf : 00000000`00000000 fffff185`e7577aa0 fffff802`00000fa0 fffff802`3ca16b80 : UsbHub3!HUBSM_ExecuteEntryFunctionsAndPushPopStateMachinesForCurrentState+0x87
fffff185`e7577a60 fffff802`3c7fa770 : ffffce83`8efbc110 fffff802`3c9baeb0 ffffce83`8ab21b60 fffff802`3c9baeb0 : UsbHub3!HUBSM_EvtSmWorkItem+0x1f
fffff185`e7577aa0 fffff802`3c7fa6f9 : ffffce83`8e6c4f00 ffffce83`8ab21b60 00000000`00000000 fffff802`3c7fa6f0 : ucx01000!Controller_ForwardProgressWorkItemCallback+0x60
fffff185`e7577ad0 fffff802`36207d53 : 00000000`00000000 00000000`00000000 00000000`00000000 fffff802`3bcd5440 : ucx01000!Controller_ForwardProgressWorkItemWdmCallback+0x9
fffff185`e7577b00 fffff802`362bdef5 : ffffce83`8aac8040 ffffce83`8aac8040 fffff802`36207cc0 ffffce83`00000000 : nt!IopProcessWorkItem+0x93
fffff185`e7577b70 fffff802`36255485 : ffffce83`8aac8040 00000000`00000080 ffffce83`84c69080 000fa005`b8bb3dfe : nt!ExpWorkerThread+0x105
fffff185`e7577c10 fffff802`36402d48 : ffff9601`daba0180 ffffce83`8aac8040 fffff802`36255430 00000000`00000000 : nt!PspSystemThreadStartup+0x55
fffff185`e7577c60 00000000`00000000 : fffff185`e7578000 fffff185`e7572000 00000000`00000000 00000000`00000000 : nt!KiStartSystemThread+0x28
SYMBOL_NAME: UsbHub3!HUBREG_QueryUsbflagsValuesForDevice+b4e
MODULE_NAME: UsbHub3
IMAGE_NAME: UsbHub3.sys
IMAGE_VERSION: 10.0.19041.1202
STACK_COMMAND: .cxr 0xfffff185e7576ac0 ; kb
BUCKET_ID_FUNC_OFFSET: b4e
FAILURE_BUCKET_ID: AV_UsbHub3!HUBREG_QueryUsbflagsValuesForDevice
OS_VERSION: 10.0.19041.1
BUILDLAB_STR: vb_release
OSPLATFORM_TYPE: x64
OSNAME: Windows 10
FAILURE_ID_HASH: {9865597a-443d-22dc-6f2b-3f61bcf3e013}
Followup: MachineOwner
---------
Do you know if I am missing any required info or handling anything incorrectly? The USBIP driver is this one: