Thread (19 messages) flat view 19 messages, 5 authors, 2014-07-11

Re: [PATCH 2/2] hso: fix deadlock when receiving bursts of data

From: Olivier Sobrie <hidden>
Date: 2014-07-11 09:18:21
Also in: lkml

Hi Alan and Davids,

On Thu, Jul 10, 2014 at 04:50:03PM +0100, One Thousand Gnomes wrote:
On Thu, 10 Jul 2014 14:37:37 +0000
David Laight [off-list ref] wrote:
quoted
From: Olivier Sobrie
...
quoted
The function put_rxbuf_data() is called from the urb completion handler.
It puts the data of the urb transfer in the tty buffer with
tty_insert_flip_string_flags() and schedules a work queue in order to
push the data to the ldisc.
Problem is that we are in a urb completion handler so we can't wait
until there is room in the tty buffer.
The tty provides the input queue, if the queue is full then just chuck
the data in the bitbucket.  hso is trying to be far too clever.

If hso is fast enough that the buffering isn't sufficient on the tty side
then we need to fix the tty buffer size.
Ok I'll adapt the patch to drop the data that can't be put in the tty
buffer. I test this and resend a new patch.

Thanks for your help!

-- 
Olivier
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help