Johannes Erdfelt wrote:
> On Thu, Sep 19, 2002, Greg KH <[EMAIL PROTECTED]> wrote:
>
>>On Thu, Sep 19, 2002 at 02:30:11PM -0600, Mitch Frazier wrote:
>>
>>>I'm having a problem with a device driver. The driver calls
>>>usb_reset_device() from the driver's probe function. This causes a
>>>deadlock on the semaphore:
>>>
>>> usb_address0_sem -- defined in linux/drivers/usb/hub.c
>>>
>>>My question is: is it legal to call usb_reset_device() from the probe
>>>routine? In other words, is this a driver problem or a usb sub-system
>>>problem?
>>
>>Right now, it's a driver problem. Don't do that! :)
>>
>>Shouldn't the device reset itself? If not, a timer event could cause
>>the device to be reset later on, after probe() returns.
>
>
> usb_address0_sem shouldn't be held that far. It's only needed when the
> device has address 0.
>
> We should be able to drop it after usb_connect, but the code in hub.c
> will need to be modified a little bit.
>
> Does that sound reasonable?
Yes it does, and I have added a hack in my kernel which allows me to get
the driver working. What I was mainly interested in was finding out if
calling usb_reset_device() was a "reasonable" thing to do from the probe
function. If it is not and the standard usb code remains as-is then I
will need to push harder on the driver writer to find another way of
doing this.
>
> JE
>
>
>
> -------------------------------------------------------
> This sf.net email is sponsored by:ThinkGeek
> Welcome to geek heaven.
> http://thinkgeek.com/sf
> _______________________________________________
> [EMAIL PROTECTED]
> To unsubscribe, use the last form field at:
> https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
>
--
Mitch
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel