diff --git a/drivers/w5100/w5100.c b/drivers/w5100/w5100.c index aec5ec2598f02..f97ef8fe4b3f4 100644 --- a/drivers/w5100/w5100.c +++ b/drivers/w5100/w5100.c @@ -261,7 +261,10 @@ static int recv(netdev_t *netdev, void *buf, size_t len, void *info) DEBUG("[w5100] recv: read %i byte from device (at 0x%04x)\n", n, (int)rp); + } + /* if frame received OR drop requested, remove frame from RX buffer */ + if ((in_buf != NULL) || (len > 0)) { /* set the new read pointer address */ waddr(dev, S0_RX_RD0, S0_RX_RD1, rp += psize); wreg(dev, S0_CR, CR_RECV);