libusbk WDF_Violation (BSoD) if device removed during UsbK_SetCurrentAlternateSetting

Matt Liberty <[email protected]>
Newsgroups gmane.comp.lib.libusb.devel.windows
Message-ID <CAJbjG+GiGFYkQv3gkoMDK-_++TH+Gmw+WSUjfdFo28=x5Pws8g@mail.gmail.com>
Travis,

I pulled together a minimal example which demonstrates this issue with my
device.  You can find the project at
https://github.com/mliberty1/libusbk_examples.  I also published a 0.1.0
release that is already built using Visual Studio 2013 for x64.

Thanks for your recommendation to isolate ISO streaming
from SetCurrentAlternateSetting.  Using this libusbk_examples
altsetting.exe, I have found that the WDF_Violation/BSoD occurs when just
calling SetCurrentAlternateSetting without starting any ISO streaming, and
it does not even need to be switching from an alternate setting that
contains an ISO IN endpoint.  I am able to replicate this fault very easily
on my Windows 8.1 x64 machine and on another Windows 7 x64 machine.  You
can view my device descriptor at:
https://github.com/mliberty1/libusbk_examples/blob/master/results/device1_descriptor.txt

The windbg output for the faults on the two machines are under:
https://github.com/mliberty1/libusbk_examples/tree/master/results

By default, running altsetting.exe will find the first alternate setting
with an isochronous IN endpoint and repeatedly switch between that
alternate setting and 0.  You can also explicitly specify a different
alternate setting like so:
altsetting.exe --altsetting 1

Hopefully you are able to replicate this result easily using another
device.  Please let me know if you have any questions or run into any
issues with the libusbk_examples project.  I likely will not have another
chance to spend significant time on this until Tuesday.  Unless you have
other recommendations, my next step will be to create a really stripped
down device with just two empty altsettings and see if I can still repeat
this failure.

Thanks and have a great weekend!

   - Matt

------------------------------------------------------------------------------
Put Bad Developers to Shame
Dominate Development with Jenkins Continuous Integration
Continuously Automate Build, Test & Deployment 
Start a new project now. Try Jenkins in the cloud.
http://p.sf.net/sfu/13600_Cloudbees

_______________________________________________
Libusb-win32-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libusb-win32-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.