Messages in this thread | | | From | David Laight <> | Subject | RE: [PATCH 2/2] hso: fix deadlock when receiving bursts of data | Date | Mon, 7 Jul 2014 09:13:53 +0000 |
| |
From: Olivier Sobrie > When the module sends bursts of data, sometimes a deadlock happens in > the hso driver when the tty buffer doesn't get the chance to be flushed > quickly enough. > > To avoid this, first, we remove the endless while loop in > put_rx_bufdata() which is the root cause of the deadlock. > Secondly, when there is no room anymore in the tty buffer, we set up a > timer of 100 msecs to give a chance to the upper layer to flush the tty > buffer and make room for new data.
What is the timer for? You need to get the sending code woken up by the urb completion.
David
| |