lkml.org 
[lkml]   [2005]   [Sep]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: 2.6.13-mm1
On Thu, Sep 01, 2005 at 03:56:08PM -0500, Joel Schopp wrote:
> There are at least a couple other spots where flip got missed, after
> fixing the count and flip problem mentioned these come up:
>
> drivers/char/hvcs.c:459: error: structure has no member named `flip'
> drivers/char/hvcs.c:472: error: structure has no member named `flip'

Try the diff below although I suspect much of the extra logic can go
away and something like

len = tty_buffer_request_root(tty, HVCS_BUFF_LEN);
if(len) {
len = hvc_get_chars(...., len);
tty_insert_flip_string(tty, buf, len);
}
is better.


--- drivers/char/hvcs.c~ 2005-09-01 22:08:42.205515648 +0100
+++ drivers/char/hvcs.c 2005-09-01 22:08:42.206515496 +0100
@@ -456,12 +456,11 @@
/* remove the read masks */
hvcsd->todo_mask &= ~(HVCS_READ_MASK);

- if ((tty->flip.count + HVCS_BUFF_LEN) < TTY_FLIPBUF_SIZE) {
+ if (tty_buffer_request_room(tty, HVCS_BUFF_LEN) >= HVCS_BUFF_LEN) {
got = hvc_get_chars(unit_address,
&buf[0],
HVCS_BUFF_LEN);
- for (i=0;got && i<got;i++)
- tty_insert_flip_char(tty, buf[i], TTY_NORMAL);
+ tty_insert_flip_string(tty, buf, got);
}

/* Give the TTY time to process the data we just sent. */
@@ -469,10 +468,9 @@
hvcsd->todo_mask |= HVCS_QUICK_READ;

spin_unlock_irqrestore(&hvcsd->lock, flags);
- if (tty->flip.count) {
- /* This is synch because tty->low_latency == 1 */
+ /* This is synch because tty->low_latency == 1 */
+ if(got)
tty_flip_buffer_push(tty);
- }

if (!got) {
/* Do this _after_ the flip_buffer_push */
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
\
 
 \ /
  Last update: 2005-09-01 23:19    [W:0.075 / U:0.424 seconds]
©2003-2014 Jasper Spaans. Advertise on this site