Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

"trying to queue a stalled pipe"



Hello,
I am writing an I/O Kit driver for a composite USB device. My driver inherits from IOService and is a client of IOUSBDevice. The device has two interfaces with one interrupt endpoint each, the driver sets up reads on these pipes. The problem I am having is if the device is hot-unplugged, the stop() method of my driver doesn't get called, and system.log reports:


USBF: 630.397 AppleUSBOHCI[0x18c6000]::CreateGeneralTransfer - trying to queue to a stalled pipe
USBF: 630.397 AppleUSBOHCI[0x18c6000]::DoIOTransfer - error 0xe000404f queueing request
USBF: 630.397 AppleUSBOHCI[0x18c6000]::CreateGeneralTransfer - trying to queue to a stalled pipe
USBF: 630.397 AppleUSBOHCI[0x18c6000]::DoIOTransfer - error 0xe000404f queueing request


I also notice that if I then plug in the device, a new entry gets created in the I/O Registry so the number of entries for the device in the I/O Registry keeps increasing each time I hot-plug the device. I assume this has something to do with 'trying to queue a stalled pipe" and stop() not getting called?

I thought I might be able to fix the stalled pipe issue by calling Abort() on the IOUSBPipes in my stop() method, but it doesn't change anything.

Thanks for any help,
Jessica
_______________________________________________
usb mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/usb
Do not post admin requests to the list. They will be ignored.



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.