Google
  Web www.spinics.net

Re: Multiple USB Endpoints

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


On Fri, 23 Nov 2007, Chris Frey wrote:

> On Fri, Nov 23, 2007 at 02:45:29PM -0500, Chris Frey wrote:
> > > What's the conflict?
> > 
> > When a Blackberry Pearl is plugged in, showing product ID 0004, and
> > while the usb_storage module is loaded, I get the following error
> > when trying to set the configuration:
> > 
> > Usb::Error caught: (-16, could not set config 1: Device or resource busy): Probe: SetConfiguration failed
> 
> Hi Alan Stern,
> 
> So as not to waste your time with the previous message now that this is fixed:
> 
> This has been fixed by checking which config is active before
> usb_set_configuration() is called, and skipping altogether if
> not needed.

Okay, I finally understand what the original problem was.  usbfs won't 
let you do a set-configuration call if any of the interfaces in the 
current config is already bound to a driver.  That's why your attempt 
failed.

Yes, if the correct configuration is already set then you can skip the 
call entirely.  That's the easiest solution.

Things become a little more difficult if you really do need to change 
the configuration.  You would have to unbind the interfaces in the 
current config first.  It's a nuisance but it's doable.

Alan Stern


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
linux-usb-devel@xxxxxxxxxxxxxxxxxxxxx
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

[Home]     [Video for Linux]     [Photo]     [Yosemite Forum]     [Yosemite Photos]    [Video Projectors]     [PDAs]     [Hacking TiVo]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Devices]     [Big List of Linux Books]     [Free Dating]

  Powered by Linux