Hi, This patch is for Alan Cox as it related to the tty layer. Hopefully the hso driver is again relatively stable with this fix. Signed-off-by: Denis Joseph Barrow <D.Barow@xxxxxxxxxx> --- Index: linux-2.6/drivers/net/usb/hso.c =================================================================== --- linux-2.6.orig/drivers/net/usb/hso.c 2009-01-15 12:45:09.000000000 +0100 +++ linux-2.6/drivers/net/usb/hso.c 2009-01-15 12:46:18.000000000 +0100 @@ -2040,8 +2040,10 @@ serial->curr_rx_urb_offset; D1("data to push to tty"); while (write_length_remaining) { - if (test_bit(TTY_THROTTLED, &tty->flags)) + if (test_bit(TTY_THROTTLED, &tty->flags)) { + tty_kref_put(tty); return -1; + } curr_write_len = tty_insert_flip_string (tty, urb->transfer_buffer + serial->curr_rx_urb_offset, -- best regards, D.J. Barrow Linux Kernel Developer Option NV, Gaston Geenslaan 14, 3001 Leuven, Belgium T: +32 16 311 621 F: +32 16 207 164 d.barow@xxxxxxxxxx www.option.com Disclaimer: http://www.option.com/company/disclaimer.shtml
Fixes a missed tty_kref_put which is caused the driver to fail to unloading when rmmoded if the hso serial port ever gets throttled. Signed-off-by: Denis Joseph Barrow <D.Barow@xxxxxxxxxx> --- Index: linux-2.6/drivers/net/usb/hso.c =================================================================== --- linux-2.6.orig/drivers/net/usb/hso.c 2009-01-15 12:45:09.000000000 +0100 +++ linux-2.6/drivers/net/usb/hso.c 2009-01-15 12:46:18.000000000 +0100 @@ -2040,8 +2040,10 @@ serial->curr_rx_urb_offset; D1("data to push to tty"); while (write_length_remaining) { - if (test_bit(TTY_THROTTLED, &tty->flags)) + if (test_bit(TTY_THROTTLED, &tty->flags)) { + tty_kref_put(tty); return -1; + } curr_write_len = tty_insert_flip_string (tty, urb->transfer_buffer + serial->curr_rx_urb_offset,