On Jul 23, 2013, at 8:03 AM, Alan Stern <st...@rowland.harvard.edu> wrote:

> On Mon, 22 Jul 2013, Nathan Hjelm wrote:
> 
>>> In Linux, when a device connects there are no special notifications for
>>> each transfer.  Pending transfers are automatically cancelled by the
>>> kernel, and they complete in the usual way but with a status code of
>>> -ENODEV.  In addition, the kernel refuses to accept new transfer 
>>> submissions.
>> 
>> Ok, so how about this:
>> 
>> 1) Remove the code from hotplug.c:195-207 since the completion
>> callbacks are redundant. We will get them from the backend in both
>> the Linux and OSX case. We can revisit when Windows hotplug support
>> is added.
>> 
>> 2) Make libusb_submit_transfer reference the device and
>> usbi_handle_transfer_completion dereference the device.
> 
> That seems reasonable.  But you also have to make sure, once you know a 
> device has been disconnected, that you don't accept any more transfers 
> for that device.  Maybe the code already does this; I haven't looked.

That code is already in place so it should be good with the patch in: 
https://github.com/hjelmn/libusbx

OP: can you try my repo and let me know if it resolves the issues for you? If 
you can also test on Linux that would be great.

-Nathan
------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&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