diff options
author | Alan Cox <alan@linux.intel.com> | 2009-07-20 11:05:27 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-07-20 19:38:43 -0400 |
commit | 23198fda7182969b619613a555f8645fdc3dc334 (patch) | |
tree | d6c322a36d955958ab89ffb0a1a7327dc84e180c /drivers/usb | |
parent | 254702568da63ce6f5ad68e77d83b427da693654 (diff) |
tty: fix chars_in_buffers
This function does not have an error return and returning an error is
instead interpreted as having a lot of pending bytes.
Reported by Jeff Harris who provided a list of some of the remaining
offenders.
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/class/cdc-acm.c | 2 | ||||
-rw-r--r-- | drivers/usb/serial/mos7720.c | 2 | ||||
-rw-r--r-- | drivers/usb/serial/ti_usb_3410_5052.c | 4 |
3 files changed, 4 insertions, 4 deletions
diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c index 5b15d9d8896b..e1f89416ef8c 100644 --- a/drivers/usb/class/cdc-acm.c +++ b/drivers/usb/class/cdc-acm.c | |||
@@ -750,7 +750,7 @@ static int acm_tty_chars_in_buffer(struct tty_struct *tty) | |||
750 | { | 750 | { |
751 | struct acm *acm = tty->driver_data; | 751 | struct acm *acm = tty->driver_data; |
752 | if (!ACM_READY(acm)) | 752 | if (!ACM_READY(acm)) |
753 | return -EINVAL; | 753 | return 0; |
754 | /* | 754 | /* |
755 | * This is inaccurate (overcounts), but it works. | 755 | * This is inaccurate (overcounts), but it works. |
756 | */ | 756 | */ |
diff --git a/drivers/usb/serial/mos7720.c b/drivers/usb/serial/mos7720.c index bfc5ce000ef9..ccd4dd340d2c 100644 --- a/drivers/usb/serial/mos7720.c +++ b/drivers/usb/serial/mos7720.c | |||
@@ -521,7 +521,7 @@ static int mos7720_chars_in_buffer(struct tty_struct *tty) | |||
521 | mos7720_port = usb_get_serial_port_data(port); | 521 | mos7720_port = usb_get_serial_port_data(port); |
522 | if (mos7720_port == NULL) { | 522 | if (mos7720_port == NULL) { |
523 | dbg("%s:leaving ...........", __func__); | 523 | dbg("%s:leaving ...........", __func__); |
524 | return -ENODEV; | 524 | return 0; |
525 | } | 525 | } |
526 | 526 | ||
527 | for (i = 0; i < NUM_URBS; ++i) { | 527 | for (i = 0; i < NUM_URBS; ++i) { |
diff --git a/drivers/usb/serial/ti_usb_3410_5052.c b/drivers/usb/serial/ti_usb_3410_5052.c index 14971a926990..3bc609fe2242 100644 --- a/drivers/usb/serial/ti_usb_3410_5052.c +++ b/drivers/usb/serial/ti_usb_3410_5052.c | |||
@@ -727,7 +727,7 @@ static int ti_write_room(struct tty_struct *tty) | |||
727 | dbg("%s - port %d", __func__, port->number); | 727 | dbg("%s - port %d", __func__, port->number); |
728 | 728 | ||
729 | if (tport == NULL) | 729 | if (tport == NULL) |
730 | return -ENODEV; | 730 | return 0; |
731 | 731 | ||
732 | spin_lock_irqsave(&tport->tp_lock, flags); | 732 | spin_lock_irqsave(&tport->tp_lock, flags); |
733 | room = ti_buf_space_avail(tport->tp_write_buf); | 733 | room = ti_buf_space_avail(tport->tp_write_buf); |
@@ -748,7 +748,7 @@ static int ti_chars_in_buffer(struct tty_struct *tty) | |||
748 | dbg("%s - port %d", __func__, port->number); | 748 | dbg("%s - port %d", __func__, port->number); |
749 | 749 | ||
750 | if (tport == NULL) | 750 | if (tport == NULL) |
751 | return -ENODEV; | 751 | return 0; |
752 | 752 | ||
753 | spin_lock_irqsave(&tport->tp_lock, flags); | 753 | spin_lock_irqsave(&tport->tp_lock, flags); |
754 | chars = ti_buf_data_avail(tport->tp_write_buf); | 754 | chars = ti_buf_data_avail(tport->tp_write_buf); |