Fix a bug where sc_ctlp() is improperly called when the packet is passed up
authorMatthew Dillon <dillon@dragonflybsd.org>
Sat, 16 Oct 2004 03:58:52 +0000 (03:58 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Sat, 16 Oct 2004 03:58:52 +0000 (03:58 +0000)
commit1911977e6102bc53bcd750b4bebcf55b4964c16c
tree30bbfc8af0b85c48b5ea50ebc117102eaa4848fb
parent6a76f45ae4d56ebd3c360269e202f60d53230bfa
Fix a bug where sc_ctlp() is improperly called when the packet is passed up
the protocol stack.  sc_ctlp() must be called exactly once for each packet
queued to the tty and ONLY when the packet is queued to the tty.  Otherwise
the tty's t_canq will start to fill up and the tty code will incorrectly
believe that there are packets pending when there might not be.

The characteristic of this bug was that pppd would stay in a 'R'un state
polling the tty for non-existant packets.

Reported-by: =?ISO-8859-1?Q?Cristi=E1n_H=2E_Garc=EDa_Whiting?= <cgw@cosimo.cl>,
Sarunas Vancevicius <vsarunas@eircom.net>
sys/net/ppp/if_ppp.c