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/char | |
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/char')
-rw-r--r-- | drivers/char/hvc_console.c | 2 | ||||
-rw-r--r-- | drivers/char/nozomi.c | 4 | ||||
-rw-r--r-- | drivers/char/pcmcia/ipwireless/tty.c | 4 |
3 files changed, 4 insertions, 6 deletions
diff --git a/drivers/char/hvc_console.c b/drivers/char/hvc_console.c index 94e7e3c8c05a..d97779ef72cb 100644 --- a/drivers/char/hvc_console.c +++ b/drivers/char/hvc_console.c | |||
@@ -552,7 +552,7 @@ static int hvc_chars_in_buffer(struct tty_struct *tty) | |||
552 | struct hvc_struct *hp = tty->driver_data; | 552 | struct hvc_struct *hp = tty->driver_data; |
553 | 553 | ||
554 | if (!hp) | 554 | if (!hp) |
555 | return -1; | 555 | return 0; |
556 | return hp->n_outbuf; | 556 | return hp->n_outbuf; |
557 | } | 557 | } |
558 | 558 | ||
diff --git a/drivers/char/nozomi.c b/drivers/char/nozomi.c index 280b41c507a7..ec58d8c387ff 100644 --- a/drivers/char/nozomi.c +++ b/drivers/char/nozomi.c | |||
@@ -1866,16 +1866,14 @@ static s32 ntty_chars_in_buffer(struct tty_struct *tty) | |||
1866 | { | 1866 | { |
1867 | struct port *port = tty->driver_data; | 1867 | struct port *port = tty->driver_data; |
1868 | struct nozomi *dc = get_dc_by_tty(tty); | 1868 | struct nozomi *dc = get_dc_by_tty(tty); |
1869 | s32 rval; | 1869 | s32 rval = 0; |
1870 | 1870 | ||
1871 | if (unlikely(!dc || !port)) { | 1871 | if (unlikely(!dc || !port)) { |
1872 | rval = -ENODEV; | ||
1873 | goto exit_in_buffer; | 1872 | goto exit_in_buffer; |
1874 | } | 1873 | } |
1875 | 1874 | ||
1876 | if (unlikely(!port->port.count)) { | 1875 | if (unlikely(!port->port.count)) { |
1877 | dev_err(&dc->pdev->dev, "No tty open?\n"); | 1876 | dev_err(&dc->pdev->dev, "No tty open?\n"); |
1878 | rval = -ENODEV; | ||
1879 | goto exit_in_buffer; | 1877 | goto exit_in_buffer; |
1880 | } | 1878 | } |
1881 | 1879 | ||
diff --git a/drivers/char/pcmcia/ipwireless/tty.c b/drivers/char/pcmcia/ipwireless/tty.c index 569f2f7743a7..674b3ab3587d 100644 --- a/drivers/char/pcmcia/ipwireless/tty.c +++ b/drivers/char/pcmcia/ipwireless/tty.c | |||
@@ -320,10 +320,10 @@ static int ipw_chars_in_buffer(struct tty_struct *linux_tty) | |||
320 | struct ipw_tty *tty = linux_tty->driver_data; | 320 | struct ipw_tty *tty = linux_tty->driver_data; |
321 | 321 | ||
322 | if (!tty) | 322 | if (!tty) |
323 | return -ENODEV; | 323 | return 0; |
324 | 324 | ||
325 | if (!tty->open_count) | 325 | if (!tty->open_count) |
326 | return -EINVAL; | 326 | return 0; |
327 | 327 | ||
328 | return tty->tx_bytes_queued; | 328 | return tty->tx_bytes_queued; |
329 | } | 329 | } |