[vbox-dev] IoGetDeviceObjectPointer hangs vboxusbmon

Ribhi Kamal rbhkamal at gmail.com
Tue Mar 13 17:49:07 GMT 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.
> USBMon::vboxUsbMonHubDevWalk:
> IoGetDeviceObjectPointer - Starting
>
> USBMon::VBoxUsbMonPnPHook:
> VBoxUsbMonPnPHook In
>
> USBMon::VBoxUsbMonPnPHook:
> ==>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
> problem.
>
> Thanks!
>
> --
> -- Ribhi
>



-- 
-- Ribhi
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.virtualbox.org/pipermail/vbox-dev/attachments/20120313/d2e6cc48/attachment.html>


More information about the vbox-dev mailing list