patch-2.0.1 linux/drivers/isdn/pcbit/edss1.c

Next file: linux/drivers/isdn/pcbit/layer2.c
Previous file: linux/drivers/isdn/pcbit/drv.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.0.0/linux/drivers/isdn/pcbit/edss1.c linux/drivers/isdn/pcbit/edss1.c
@@ -288,15 +288,10 @@
 	save_flags(flags);
 	cli();
 
-        if (chan->fsm_timer.function) {
-                del_timer(&chan->fsm_timer);
-                chan->fsm_timer.function = NULL;
-        }
 
         for (action = fsm_table; action->init != 0xff; action++)
                 if (action->init == chan->fsm_state && action->event == event)
                         break;
-
   
 	if (action->init == 0xff) {
 		
@@ -304,6 +299,11 @@
                        event, chan->fsm_state);
 		return;
 	}
+
+        if (chan->fsm_timer.function) {
+                del_timer(&chan->fsm_timer);
+                chan->fsm_timer.function = NULL;
+        }
 
 	chan->fsm_state = action->final;
   

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov