From f5cd25bdab4e0729c84fb9579c8f9eb9e7ba6f06 Mon Sep 17 00:00:00 2001 From: Marian Buschsieweke Date: Wed, 20 Mar 2019 09:57:45 +0100 Subject: [PATCH] drivers/enc28j60: Allow sending with empty chunks This commit allows `netdev_driver_t::send()` of `enc28j60` to be passed an `iolist_t` containing one or more empty elements. --- drivers/enc28j60/enc28j60.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/drivers/enc28j60/enc28j60.c b/drivers/enc28j60/enc28j60.c index a4586d8057..4034ecca75 100644 --- a/drivers/enc28j60/enc28j60.c +++ b/drivers/enc28j60/enc28j60.c @@ -217,12 +217,14 @@ static void cmd_rbm(enc28j60_t *dev, uint8_t *data, size_t len) static void cmd_wbm(enc28j60_t *dev, uint8_t *data, size_t len) { - /* start transaction */ - spi_acquire(SPI_BUS, CS_PIN, SPI_MODE_0, SPI_CLK); - /* transfer data */ - spi_transfer_regs(SPI_BUS, CS_PIN, CMD_WBM, data, NULL, len); - /* finish SPI transaction */ - spi_release(SPI_BUS); + if (len) { + /* start transaction */ + spi_acquire(SPI_BUS, CS_PIN, SPI_MODE_0, SPI_CLK); + /* transfer data */ + spi_transfer_regs(SPI_BUS, CS_PIN, CMD_WBM, data, NULL, len); + /* finish SPI transaction */ + spi_release(SPI_BUS); + } } static void mac_get(enc28j60_t *dev, uint8_t *mac)