On Wed, 13 Apr 2005, David Ferguson wrote:
>
> One important piece of information is missing -- are you making a
> synchronous or asynchronous call? Is the OS version (and
> IOUSBFamily) version the same on all the machines you tested?
It's a synchronous call. I upgraded one of the problem machines (iMac G5)
from 10.3.7 to 10.3.8 and it made no difference.
> I think you could get a deadlock if you tried to make a synchronous
> call from within the command gate (say from a callback function).
> You might consider making your call on another thread.
This is early in my class's IOService::start method - the class is a
client of IOUSBInterface. So it shouldn't be in any command gate (right?).
I've found another way of detecting the absence of the firmware, and
sending it a command it responds to (i.e. doing the firmware upload) does
not deadlock the calling thread.
Still I am concerned if ever a transaction does fail that it locks up my
driver.. 'tho I guess it's not too big a deal. The OS seems pretty happy
just to leave that thread hung thread there, and if the device is
unplugged and replugged, then it makes a new instance of my driver just
fine.
So not a major issue. Just wondering if there was some known cause.
{P^/
> David Ferguson
> USB Software Team
> Apple Computer
>
> At 2:53 AM +1000 4/14/05, John Dalgliesh wrote:
> >Hi list,
> >
> >Does anyone know in what situations a call to DeviceRequest would not
> >return? I am calling the version without timeouts which means it's using
> >the defaults of (no data: 5s, completion: 0), but this is on the control
> >channel so it can't go on for too long. Also I've tried calling the
> >version with timeouts (1s,1s) and it didn't return either. This is an
> >in-kernel driver I'm talking about.
[snip]
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Usb mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/usb/email@hidden
This email sent to email@hidden