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