summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/ratp.c8
-rw-r--r--scripts/remote/ratp.py16
2 files changed, 6 insertions, 18 deletions
diff --git a/lib/ratp.c b/lib/ratp.c
index 846f8130cf..321721ab71 100644
--- a/lib/ratp.c
+++ b/lib/ratp.c
@@ -721,9 +721,6 @@ static int ratp_behaviour_c2(struct ratp_internal *ri, void *pkt)
pr_debug("%s\n", __func__);
- if (!ratp_has_data(hdr))
- return 0;
-
if (ratp_sn_expected(ri, hdr))
return 0;
@@ -745,9 +742,6 @@ static int ratp_behaviour_c2(struct ratp_internal *ri, void *pkt)
return 1;
}
- if (!ratp_has_data(hdr))
- return 1;
-
pr_debug("Sending ack for duplicate message\n");
ret = ratp_send_ack(ri, hdr);
if (ret)
@@ -1846,4 +1840,4 @@ eor:
}
return 0;
-} \ No newline at end of file
+}
diff --git a/scripts/remote/ratp.py b/scripts/remote/ratp.py
index a41d2e8a3f..0dfc8420c7 100644
--- a/scripts/remote/ratp.py
+++ b/scripts/remote/ratp.py
@@ -339,9 +339,6 @@ class RatpConnection(object):
def _c2(self, r):
logging.info("C2")
- if r.length == 0 and r.c_so == 0:
- return True
-
if r.c_sn != self._r_sn:
return True
@@ -358,14 +355,11 @@ class RatpConnection(object):
self._state = RatpState.closed
return False
- # FIXME: only ack duplicate data packages?
- # This is not documented in RFC 916
- if r.length or r.c_so:
- logging.info("C2: duplicate data packet, dropping")
- s = RatpPacket(flags='A')
- s.c_sn = r.c_an
- s.c_an = (r.c_sn + 1) % 2
- self._write(s)
+ logging.info("C2: duplicate packet")
+ s = RatpPacket(flags='A')
+ s.c_sn = r.c_an
+ s.c_an = (r.c_sn + 1) % 2
+ self._write(s)
return False