From 761987ef0d3fbebe24a47f8429bcc7c25acef5d0 Mon Sep 17 00:00:00 2001 From: Koen Zandberg <koen@bergzand.net> Date: Fri, 31 Aug 2018 10:40:30 +0200 Subject: [PATCH] ethos: Add drop frame case to recv function The ethos driver does not drop the received frame if the recv function is called with NULL buffer and with a length. This commit fixes that. --- drivers/ethos/ethos.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/ethos/ethos.c b/drivers/ethos/ethos.c index cecec42545..a049ac4b7a 100644 --- a/drivers/ethos/ethos.c +++ b/drivers/ethos/ethos.c @@ -314,7 +314,14 @@ static int _recv(netdev_t *netdev, void *buf, size_t len, void* info) return (int)len; } else { - return dev->last_framesize; + if (len) { + int dropsize = dev->last_framesize; + dev->last_framesize = 0; + return tsrb_drop(&dev->inbuf, dropsize); + } + else { + return dev->last_framesize; + } } } -- GitLab