[svn-commits] mattf: branch 1.0 r289 - /branches/1.0/mtp2.c

SVN commits to the Digium repositories svn-commits at lists.digium.com
Tue Nov 30 10:59:47 CST 2010


Author: mattf
Date: Tue Nov 30 10:59:42 2010
New Revision: 289

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

Modified:
    branches/1.0/mtp2.c

Modified: branches/1.0/mtp2.c
URL: http://svnview.digium.com/svn/libss7/branches/1.0/mtp2.c?view=diff&rev=289&r1=288&r2=289
==============================================================================
--- branches/1.0/mtp2.c (original)
+++ branches/1.0/mtp2.c Tue Nov 30 10:59:42 2010
@@ -406,6 +406,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
@@ -418,10 +423,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