Hi Pete, > > I found a bug where the io_ti.c driver calls schedule while in an > > interrupt. The problem stems from usbserial.c allowing a > > serial_throttle call proceed while in an interrupt, which results in > > sending a urb to clear the CTS bit of the usb serial port, and thus a > > call to schedule. > > What about the unthrottle? >
serial_unthrottle is not an issue because it is called as the result of system calls, where as serial_throttle is called when the tty driver buffer is full. As we have seen, calls to serial_throttle can occur from an interrupt handler when the driver is receiving too much new data. This can make the semaphore down function call inside serial_throttle panic. Specifically, serial_unthrottle can be called from read, open, and close system calls, or when the tty driver is flushed. As a result, there is no need to queue serial_unthrottle calls using the mechanism already in place for serial_write and that I implemented for serial_throttle. I will re-submit my previous patch except against the 2.4.27 kernel and using the proper coding style. If I still made a coding style mistake, let me know what it is and I will correct it. --Sam ------------------------------------------------------- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel