I have a USB device which has two separate devices in it, a bootloader, and the 
actual firmware.

When I upgrade the firmware, I need to:

send a message to the USB device which will jump to bootloader firmware
release the interface
close the usb device
call libusb_exit()

Then I wait for the bootloader to re-apear on the bus, which it does, however, 
when I send a control message back down to the device, I get a seg-fault in the 
libusb submit transfer. The control transfer calls libusb_submit_transfer, and 
it looks like it fails at usbi_mutex_lock, but I cant’ tell for certain due to 
optimizations.

If I don’t call libusb_close(handle), the segfault dissapears, but the messages 
sent and received is junk causing the program not to malfunction. I expect this.

This is on the 64 bit version of linux, on the master branch in github: SCM 
:v1.0.17-23-g805cc3e

Compiled the library on linux.

It looks like part of the handle is still claimed, but I can’t find out where.

Any help would be appreciate it, it looks like the problem exists on windows 
too, but I can’t reproduce that, I’ve only seen the behavior in logs from 
customers.

Very Sincerely,
Jason
------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk
_______________________________________________
libusbx-devel mailing list
libusbx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libusbx-devel

Reply via email to