EvtDeviceSelfManagedIoSuspend

Hi,

I have a virtual USB bus driver (KMDF based) that creates USB devices to
work over ethernet. Most of the devices I connect to my stack work fine.
I have a couple devices where when I insert the device the first time,
everything seems okay.

The driver for the device gets installed and I get all the right URBs
down the stack. If I disconnect and reconnect the device, the driver
get the Device Descriptor and then my events for
EvtDeviceSelfManagedIoSuspend

And EvtDeviceSelfManagedIoFlush called and the device manager shows the
device failed to start.

I’m not sure why this happens. The starting point of all devices is the
same in terms of PDO creation etc. There is no error on any command
either.

If I uninstall the driver for this device from Device Manager and
reinstall (when in failed state), the driver seems to work again.

Any help/clue will be deeply appreciated.

Thanks

Pankaj