On Thu, Sep 30, 2010 at 02:16:32PM +0100, Toby Gray wrote:
> 2) Change the probing code in src/probe.cc so that it tries probing the 
> end points without a call to SET INTERFACE and then, if those probes 
> fail, calls SET INTERFACE and probes again. I think it's probably best 
> to probe all the end points and then call SET INTERFACE, rather than 
> doing a probe, SET INTERFACE, and then a re-probe for each end point in 
> turn. This would still have the usb-storage issue, but only for users 
> where calling SET INTERFACE is necessary.


> 4) Removing the calls to ClearHalt in Probe::PairProbe() and 
> Controller::SetupUsb() also fixes this issue without needing to call SET 
> INTERFACE. However the calls to ClearHalt are there to support the 8830 
> which does need them, so I'd suggest having the Probe::PairProbe() try 
> to probe without clearing halt and then, if that fails, retrying after 
> clearing halt. The ProbeResult would then contain whether clearing halt 
> was necessary or not for that device, which would be used by 
> Controller::SetupUsb() to determine if ClearHalt should be called.
> 
> What's your feeling on which of these options is best? I would 
> personally favour 4 as it seems to work nicely on the range of 
> BlackBerry devices that I've tried.

Options 2 and 4 sound like the smartest options.  Am I correct in assuming
that option #4 would fix the usb-storage problem as well?

I'd pick 4, with lots of comments in the code to explain why. :-)

- Chris


------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
Barry-devel mailing list
Barry-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/barry-devel

Reply via email to