patch-2.1.27 linux/net/lapb/lapb_timer.c
Next file: linux/net/netbeui/af_netbeui.c
Previous file: linux/net/lapb/lapb_subr.c
Back to the patch index
Back to the overall index
-  Lines: 25
-  Date:
Fri Feb 21 14:58:40 1997
-  Orig file: 
v2.1.26/linux/net/lapb/lapb_timer.c
-  Orig date: 
Tue Feb  4 06:44:26 1997
diff -u --recursive --new-file v2.1.26/linux/net/lapb/lapb_timer.c linux/net/lapb/lapb_timer.c
@@ -180,6 +180,24 @@
 				lapb_requeue_frames(lapb);
 			}
 			break;
+
+		/*
+		 *	Frame reject state, restransmit FRMR frames, up to N2 times.
+		 */
+		case LAPB_STATE_4:
+			if (lapb->n2count == lapb->n2) {
+				lapb_clear_queues(lapb);
+				lapb->state   = LAPB_STATE_0;
+				lapb->t2timer = 0;
+				lapb_disconnect_indication(lapb, LAPB_TIMEDOUT);
+#if LAPB_DEBUG > 0
+				printk(KERN_DEBUG "lapb: (%p) S4 -> S0\n", lapb->token);
+#endif
+			} else {
+				lapb->n2count++;
+				lapb_transmit_frmr(lapb);
+			}
+			break;
 	}
 
 	lapb->t1timer = lapb->t1;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov