[4/6] net: gianfar: Avoid 16 bytes of memset
diff mbox series

Message ID 3550366c0e6eda798a36a6695e6b4736e41e40ab.1623922686.git.esben@geanix.com
State Accepted
Commit e2dbbbe52c4a0f7704735b49f864fe8ea06111e5
Headers show
  • net: gianfar: 64-bit statistics and rx_missed_errors counter
Related show

Commit Message

Esben Haabendal June 17, 2021, 9:49 a.m. UTC
The memset on CAMx is wrong, as it actually unmasks all carry irq's,
which we clearly are not interested in.

The memset on CARx registers is just pointless, as they are W1C.

So let's just stop the memset before CAR1.

Signed-off-by: Esben Haabendal <esben@geanix.com>
 drivers/net/ethernet/freescale/gianfar.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff mbox series

diff --git a/drivers/net/ethernet/freescale/gianfar.c b/drivers/net/ethernet/freescale/gianfar.c
index ebd1065f39fa..4608c0c337bc 100644
--- a/drivers/net/ethernet/freescale/gianfar.c
+++ b/drivers/net/ethernet/freescale/gianfar.c
@@ -3098,7 +3098,7 @@  static void gfar_hw_init(struct gfar_private *priv)
 	/* Zero out the rmon mib registers if it has them */
 	if (priv->device_flags & FSL_GIANFAR_DEV_HAS_RMON) {
-		memset_io(&(regs->rmon), 0, sizeof(struct rmon_mib));
+		memset_io(&regs->rmon, 0, offsetof(struct rmon_mib, car1));
 		/* Mask off the CAM interrupts */
 		gfar_write(&regs->rmon.cam1, 0xffffffff);