On Tue, 2006-03-14 at 10:40 -0800, Greg KH wrote: > Well, we have a "used" count that is trying to handle the cleanup > properly for us when we have the port open yet it is gone already. But > it really would be easier to reference count the whole thing, but I'll > wait for what you find out with your last patch...
The printks I did may be misleading as they are placed before any modification of acm->used in each function. Everything looked OK to me, but I may be missing something that is obvious to you. > acm_tty_open tty=cd254af8 acm=ce24eca0 acm->used=00000000 First open, used is zero on entry and then is incremented to one. > usb 1-2: USB disconnect, address 6 Unplug detected > acm_disconnect intf=ce99f720 acm=ce24eca0 usb_dev=ce24f4b8 > acm_disconnect acm->used=1 acm->dev=ce24f4b8 acm->tty=cd254af8 acm_disconnect acm->used is 1 (tty open, defer acm_tty_unregister) set acm->dev = NULL to indicate unplug call tty_hangup() to kill connection > acm_disconnect intf=cefb6760 acm=00000000 usb_dev=ce24f4b8 acm_disconnect, no interface data so do nothing (why no data?) > acm_tty_close tty=cd254af8 filp=ce96511c acm=ce24eca0 > acm_tty_close acm->used=1 acm->dev=00000000 atm_tty_close called from tty_io.c:release_dev() acm->used=1 on entry, decrements to zero == final close acm->dev is NULL (unplugged) so call tty_unregister_device() > Unable to handle kernel paging request at virtual address 6b6b6bfb Oops in sysfs_hash_and_remove -- Paul Fulghum Microgate Systems, Ltd ------------------------------------------------------- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel