[svn-commits] mattf: trunk r290 - /trunk/mtp2.c

SVN commits to the Digium repositories svn-commits at lists.digium.com
Tue Nov 30 11:00:27 CST 2010


Author: mattf
Date: Tue Nov 30 11:00:23 2010
New Revision: 290

URL: http://svnview.digium.com/svn/libss7?view=rev&rev=290
Log:
Fix MTP2 so that we check for potential need for retransmission even on repeated FISUs. (#18393)

Modified:
    trunk/mtp2.c

Modified: trunk/mtp2.c
URL: http://svnview.digium.com/svn/libss7/trunk/mtp2.c?view=diff&rev=290&r1=289&r2=290
==============================================================================
--- trunk/mtp2.c (original)
+++ trunk/mtp2.c Tue Nov 30 11:00:23 2010
@@ -434,6 +434,11 @@
 
 static int fisu_rx(struct mtp2 *link, struct mtp_su_head *h, int len)
 {
+	if (link->state == MTP_INSERVICE && h->fsn != link->lastfsnacked && h->fib == link->curbib) {
+		mtp_message(link->master, "Received out of sequence FISU w/ fsn of %d, lastfsnacked = %d, requesting retransmission\n", h->fsn, link->lastfsnacked);
+		mtp2_request_retransmission(link);
+	}
+
 	if (link->lastsurxd == FISU)
 		return 0;
 	else
@@ -446,10 +451,6 @@
 		case MTP_ALIGNEDREADY:
 			mtp2_setstate(link, MTP_INSERVICE);
 		case MTP_INSERVICE:
-			if (h->fsn != link->lastfsnacked) {
-				mtp_message(link->master, "Received out of sequence FISU w/ fsn of %d, lastfsnacked = %d, requesting retransmission\n", h->fsn, link->lastfsnacked);
-				mtp2_request_retransmission(link);
-			}
 			break;
 		default:
 			mtp_message(link->master, "Huh?! Got FISU in link state %d\n", link->state);




More information about the svn-commits mailing list