diff options
author | Aleksander Morgado <aleksander@aleksander.es> | 2017-06-21 21:13:15 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2017-06-23 13:34:07 +0200 |
commit | e90817a514083345e80b248955e5d3d130561621 (patch) | |
tree | 27232af58e138ca04fdbe43170f27cf54cc84634 /lib/ratp.c | |
parent | b2fb42fb63a838383873f9de1a4037d8403a5cec (diff) | |
download | barebox-e90817a514083345e80b248955e5d3d130561621.tar.gz barebox-e90817a514083345e80b248955e5d3d130561621.tar.xz |
ratp: remove bogus data checks in behavior C2
The SN validation was being completely ignored if the packet had no
data (e.g. for RST, FIN or SYN or plain ACKs). This condition is now
removed so that the SN check is done.
The second check removed was actually never being used, as it was
already being tested for not having data in the first one.
These two fixes are a cleanup to follow the protocol correctly.
Signed-off-by: Aleksander Morgado <aleksander@aleksander.es>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'lib/ratp.c')
-rw-r--r-- | lib/ratp.c | 8 |
1 files changed, 1 insertions, 7 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 +} |