Hi Pete, That is an interesting point. I am far from a usb serial expert, but it looks like this is not a problem because usbserial.c already handles writes that might happen during an interrupt. Would a better solution to the original bug be to queue serial_read calls rather than the serial_throttle? I might be way off base here, but I will look into this more.
Also, I confirmed the bug with an unmodified 2.4.27 kernel. To reproduce, do the following with a null modem cable connecting ttyS1 and ttyUSB0: stty -F /dev/ttyUSB0 cread ispeed 115200 ospeed 115200 crtscts stty -F /dev/ttyS1 cread ispeed 115200 ospeed 115200 crtscts console1: cat /dev/ttyUSB0 | tee /dev/ttyUSB0 console2: cat /dev/ttyS1 console3: while [ "1" = "1" ]; do echo "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" > /dev/ttyS1 done with an io_ti.c device attached to ttyUSB0. --Sam --------------------------------- Sam King Ph.D. Student Computer Science Department University of Michigan, Ann Arbor On Tue, 14 Sep 2004, Pete Zaitcev wrote: > On Tue, 14 Sep 2004 10:58:48 -0400 (EDT) > Sam King <[EMAIL PROTECTED]> wrote: > > > 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? > > Also, please respect the code formatting and spacing. > > -- Pete > ------------------------------------------------------- This SF.Net email is sponsored by: thawte's Crypto Challenge Vl Crack the code and win a Sony DCRHC40 MiniDV Digital Handycam Camcorder. More prizes in the weekly Lunch Hour Challenge. Sign up NOW http://ad.doubleclick.net/clk;10740251;10262165;m _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel