Hi All, I've noticed a potential problem with the USB serial driver layer and/or the ipaq driver. I suspect it's not specific to the ipaq driver... Anyways, If I have my USB device hooked up and talking to a userspace program (minicom or whatever) and I turn off or unplug the device, the userspace program is still sitting blocked in a poll() or read(). Also, if it was in a poll() and some data gets sent (by typing something into the terminal), it does a write() which blocks forever as well.
Too me, it seems clear that if a userspace application in in a blocking read(), write(), or poll() on a usb serial device it should be awakened by the disconnection of the device and the function should return some indication that the device is gone. I've done a bit of digging into the kernel source (2.6.8 on debian) and I think that the usb disconnect needs to let the tty layer know that something happened since (I think) that's where the userspace read()/write()/poll() stuff are implemented. I'd be happy to have a go at this myself, but I'd like a few pointers first since I don't quite know how all these pieces work together. And maybe this has been discussed before? (I couldn't find much in the archives in a quick search.) Thanks in advance for any advice/help! -Shane Anderson ------------------------------------------------------- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf _______________________________________________ [email protected] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
