Sorry, actually the IRQL == PASSIVE_LEVEL is okay. So just ignore that bit.<br><br><div class="gmail_quote">On Tue, Mar 13, 2012 at 1:27 PM, Ribhi Kamal <span dir="ltr"><<a href="mailto:rbhkamal@gmail.com">rbhkamal@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5"><div class="gmail_quote">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.<div>



<br></div><div>I'm not an expert in windows driver development so I'd like to run things by you before I start fixing it.</div><div><br></div><div>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.<br>



<div><div><br></div><div>What led me to that conclusion is that right after IoGetDeviceObjectPointer is executed, I start seeing lots of PnP events.</div><div><div>USBMon::vboxUsbMonHubDevWalk:   </div><div>IoGetDeviceObjectPointer - Starting     </div>



<div><br></div><div>USBMon::VBoxUsbMonPnPHook:      </div><div>VBoxUsbMonPnPHook In    </div><div><br></div><div>USBMon::VBoxUsbMonPnPHook:      </div><div>==>PnP: Mn(IRP_MN_QUERY_DEVICE_RELATIONS), PDO(0x8833d028), IRP(0x882a71a8), Status(0xc00000bb) </div>



<div><br></div><div>See attached for complete debug view.</div><div><br></div><div>Are my assumptions correct? If so how would you go about fixing the problem.<br></div></div><div><br></div><div>Thanks!</div></div></div>


</div><div><br></div>-- <br>-- Ribhi<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>-- Ribhi<br>