patch-2.1.27 linux/net/x25/x25_in.c

Next file: linux/scripts/Configure
Previous file: linux/net/x25/af_x25.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.26/linux/net/x25/x25_in.c linux/net/x25/x25_in.c
@@ -117,6 +117,7 @@
 
 		case X25_CLEAR_REQUEST:
 			x25_clear_queues(sk);
+			x25_write_internal(sk, X25_CLEAR_CONFIRMATION);
 			sk->protinfo.x25->state = X25_STATE_0;
 			sk->state               = TCP_CLOSE;
 			sk->err                 = ECONNREFUSED;
@@ -144,7 +145,9 @@
 	switch (frametype) {
 
 		case X25_CLEAR_REQUEST:
+			x25_write_internal(sk, X25_CLEAR_CONFIRMATION);
 		case X25_CLEAR_CONFIRMATION:
+			x25_clear_queues(sk);
 			sk->protinfo.x25->state = X25_STATE_0;
 			sk->state               = TCP_CLOSE;
 			sk->err                 = 0;
@@ -177,7 +180,6 @@
 	switch (frametype) {
 
 		case X25_RESET_REQUEST:
-			x25_clear_queues(sk);
 			x25_write_internal(sk, X25_RESET_CONFIRMATION);
 			sk->protinfo.x25->condition = 0x00;
 			sk->protinfo.x25->timer     = 0;
@@ -306,8 +308,9 @@
 {
 	switch (frametype) {
 
-		case X25_RESET_CONFIRMATION:
 		case X25_RESET_REQUEST:
+			x25_write_internal(sk, X25_RESET_CONFIRMATION);
+		case X25_RESET_CONFIRMATION:
 			sk->protinfo.x25->timer     = 0;
 			sk->protinfo.x25->condition = 0x00;
 			sk->protinfo.x25->va        = 0;

FUNET's LINUX-ADM group, [email protected]
TCL-scripts by Sam Shen, [email protected]