Subject: Re: [PATCH] hso.c against 2.6.27-rc5 throttle/unthrottle to prevent loss of serial data

From: Denis Joseph Barrow <[email-masked]>
Date: Fri, 05 Sep 2008 16:06:22 +0200

Thanks Alan,
I didn't see that check.

I'll shave a few lines off my code & send the patch again. 

Alan Cox wrote:
> O> If my understanding of the n_tty.c code is correct it will
>> only start throttling when there is TTY_THRESHOLD_THROTTLE
>> i.e. 128 bytes left in the n_tty ring buffer this is a very low limit
>> for my driver. This means
>> that if I try to do a tty_flip_buffer_push of
>> of a tty buffer larger than 128 bytes when the threshold
>> is reached I will lose data. My urb buffers are 4k in
>> size 2 buffers of this size up to the tty layer in a row 
>> quickly I believe I'll lose data in the n_tty layer.
> 
> If there is 128 bytes left in the n_tty buffer and you push data it ends
> up in the tty_buffer queue where it will accumulate up to 64K of data
> which will be fired into the tty layer when the tty layer is willing to
> accept it (sets its receive_room).
> 
> Alan

-- 
best regards,
D.J. Barrow