From 4ba73928acc5950f357846d22db9cb3466811978 Mon Sep 17 00:00:00 2001 From: Oleg Hahm Date: Sun, 3 Apr 2016 18:04:32 +0200 Subject: [PATCH] drivers enc28j60: correctly initialize netstats Driver's netstats should be initialize in init, not isr... --- drivers/enc28j60/enc28j60.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/enc28j60/enc28j60.c b/drivers/enc28j60/enc28j60.c index 2dc4e7598d..384aba5228 100644 --- a/drivers/enc28j60/enc28j60.c +++ b/drivers/enc28j60/enc28j60.c @@ -230,6 +230,7 @@ static int nd_send(netdev2_t *netdev, const struct iovec *data, int count) #ifdef MODULE_NETSTATS_L2 netdev->stats.tx_bytes += count; #endif + /* set write pointer */ cmd_w_addr(dev, ADDR_WRITE_PTR, BUF_TX_START); /* write control byte and the actual data into the buffer */ @@ -380,6 +381,9 @@ static int nd_init(netdev2_t *netdev) /* allow receiving bytes from now on */ cmd_bfs(dev, REG_ECON1, -1, ECON1_RXEN); +#ifdef MODULE_NETSTATS_L2 + memset(&netdev->stats, 0, sizeof(netstats_t)); +#endif mutex_unlock(&dev->devlock); return 0; } @@ -424,9 +428,6 @@ static void nd_isr(netdev2_t *netdev) } eir = cmd_rcr(dev, REG_EIR, -1); } -#ifdef MODULE_NETSTATS_L2 - memset(&netdev->stats, 0, sizeof(netstats_t)); -#endif } static int nd_get(netdev2_t *netdev, netopt_t opt, void *value, size_t max_len)