diff options
author | hm <hm@FreeBSD.org> | 1999-05-20 10:14:57 +0000 |
---|---|---|
committer | hm <hm@FreeBSD.org> | 1999-05-20 10:14:57 +0000 |
commit | 2077acfca034178f39e3fa4e86cb8d371f44737c (patch) | |
tree | 730187a2063473cb0d2e7cac998a9a4307285426 /sys/i4b/layer2/i4b_l2fsm.c | |
parent | 5ea75aea8a2633cc0acf9dd870c1e1db1abd6a21 (diff) | |
download | FreeBSD-src-2077acfca034178f39e3fa4e86cb8d371f44737c.zip FreeBSD-src-2077acfca034178f39e3fa4e86cb8d371f44737c.tar.gz |
upgrade isdn4bsd from version 0.71 to the just released version 0.81
Diffstat (limited to 'sys/i4b/layer2/i4b_l2fsm.c')
-rw-r--r-- | sys/i4b/layer2/i4b_l2fsm.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/sys/i4b/layer2/i4b_l2fsm.c b/sys/i4b/layer2/i4b_l2fsm.c index dbbe0ca..ea04662 100644 --- a/sys/i4b/layer2/i4b_l2fsm.c +++ b/sys/i4b/layer2/i4b_l2fsm.c @@ -27,9 +27,9 @@ * i4b_l2fsm.c - layer 2 FSM * ------------------------- * - * $Id: i4b_l2fsm.c,v 1.14 1999/02/14 09:45:00 hm Exp $ + * $Id: i4b_l2fsm.c,v 1.15 1999/03/16 15:29:06 hm Exp $ * - * last edit-date: [Sun Feb 14 10:31:37 1999] + * last edit-date: [Tue Mar 16 16:27:12 1999] * *---------------------------------------------------------------------------*/ @@ -242,6 +242,7 @@ struct l2state_tab { void i4b_next_l2state(l2_softc_t *l2sc, int event) { int currstate, newstate; + int (*savpostfsmfunc)(int) = NULL; /* check event number */ if(event > N_EVENTS) @@ -292,8 +293,10 @@ void i4b_next_l2state(l2_softc_t *l2sc, int event) if(l2sc->postfsmfunc != NULL) { DBGL2(L2_F_MSG, "i4b_next_l2state", ("FSM executing postfsmfunc!\n")); - (*l2sc->postfsmfunc)(l2sc->postfsmarg); + /* try to avoid an endless loop */ + savpostfsmfunc = l2sc->postfsmfunc; l2sc->postfsmfunc = NULL; + (*savpostfsmfunc)(l2sc->postfsmarg); } } |