patch-2.1.27 linux/net/rose/rose_in.c

Next file: linux/net/rose/rose_link.c
Previous file: linux/net/rose/rose_dev.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.26/linux/net/rose/rose_in.c linux/net/rose/rose_in.c
@@ -106,6 +106,7 @@
 
 		case ROSE_CLEAR_REQUEST:
 			rose_clear_queues(sk);
+			rose_write_internal(sk, ROSE_CLEAR_CONFIRMATION);
 			sk->protinfo.rose->state = ROSE_STATE_0;
 			sk->state                = TCP_CLOSE;
 			sk->err                  = ECONNREFUSED;
@@ -133,7 +134,9 @@
 	switch (frametype) {
 
 		case ROSE_CLEAR_REQUEST:
+			rose_write_internal(sk, ROSE_CLEAR_CONFIRMATION);
 		case ROSE_CLEAR_CONFIRMATION:
+			rose_clear_queues(sk);
 			sk->protinfo.rose->state = ROSE_STATE_0;
 			sk->state                = TCP_CLOSE;
 			sk->err                  = 0;
@@ -163,7 +166,6 @@
 	switch (frametype) {
 
 		case ROSE_RESET_REQUEST:
-			rose_clear_queues(sk);
 			rose_write_internal(sk, ROSE_RESET_CONFIRMATION);
 			sk->protinfo.rose->condition = 0x00;
 			sk->protinfo.rose->timer     = 0;
@@ -270,8 +272,9 @@
 {
 	switch (frametype) {
 
-		case ROSE_RESET_CONFIRMATION:
 		case ROSE_RESET_REQUEST:
+			rose_write_internal(sk, ROSE_RESET_CONFIRMATION);
+		case ROSE_RESET_CONFIRMATION:
 			sk->protinfo.rose->timer     = 0;
 			sk->protinfo.rose->condition = 0x00;
 			sk->protinfo.rose->va        = 0;

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