[vbox-dev] IoGetDeviceObjectPointer hangs vboxusbmon
rbhkamal at gmail.com
Tue Mar 13 10:49:07 PDT 2012
Sorry, actually the IRQL == PASSIVE_LEVEL is okay. So just ignore that bit.
On Tue, Mar 13, 2012 at 1:27 PM, Ribhi Kamal <rbhkamal at gmail.com> wrote:
> I've been troubleshooting an issue that prevents vbox from capturing USB
> devices when other specific USB devices are plugged in (i.e. Sprint USB
> crap). I finally managed to track down the problem to
> IoGetDeviceObjectPointer in VboxUsbMonHubDevWalk. IoGetDeviceObjectPointer
> was getting called, however, it never returned.
> I'm not an expert in windows driver development so I'd like to run things
> by you before I start fixing it.
> Firstly, I'm not really sure why it hangs (deadlocks?) there for some
> devices and not others. However, I believe that it may be due to the fact
> that some driver interfaces cause blocking PnP events. Due to that,
> vboxusbmon runs into a deadlock when executing IoGetDeviceObjectPointer
> because it is being used directly from a callback function,
> VBoxUsbMonDeviceControl, and IRQL==PASSIVE_LEVEL.
> What led me to that conclusion is that right after
> IoGetDeviceObjectPointer is executed, I start seeing lots of PnP events.
> IoGetDeviceObjectPointer - Starting
> VBoxUsbMonPnPHook In
> ==>PnP: Mn(IRP_MN_QUERY_DEVICE_RELATIONS), PDO(0x8833d028),
> IRP(0x882a71a8), Status(0xc00000bb)
> See attached for complete debug view.
> Are my assumptions correct? If so how would you go about fixing the
> -- Ribhi
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the vbox-dev