• Olivier Sobrie's avatar
    hso: fix deadlock when receiving bursts of data · 8f9818af
    Olivier Sobrie authored
    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.
    
    Remove the endless while loop in function put_rxbuf_data() which is
    called by the urb completion handler.
    If there isn't enough room in the tty buffer, discards all the data
    received in the URB.
    
    Cc: David Miller <davem@davemloft.net>
    Cc: David Laight <David.Laight@ACULAB.COM>
    Cc: One Thousand Gnomes <gnomes@lxorguk.ukuu.org.uk>
    Cc: Dan Williams <dcbw@redhat.com>
    Cc: Jan Dumon <j.dumon@option.com>
    Signed-off-by: default avatarOlivier Sobrie <olivier@sobrie.be>
    Acked-by: default avatarAlan Cox <alan@linux.intel.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    8f9818af
hso.c 83.3 KB