All of lore.kernel.org
 help / color / mirror / Atom feed
* [patch net] net: dsa: mv88e6xxx: Fix clearing of stats counters
@ 2018-11-10 23:41 Andrew Lunn
  2018-11-11 18:19 ` David Miller
  0 siblings, 1 reply; 2+ messages in thread
From: Andrew Lunn @ 2018-11-10 23:41 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, Andrew Lunn

The mv88e6161 would sometime fail to probe with a timeout waiting for
the switch to complete an operation. This operation is supposed to
clear the statistics counters. However, due to a read/modify/write,
without the needed mask, the operation actually carried out was more
random, with invalid parameters, resulting in the switch not
responding. We need to preserve the histogram mode bits, so apply a
mask to keep them.

Reported-by: Chris Healy <Chris.Healy@zii.aero>
Fixes: 40cff8fca9e3 ("net: dsa: mv88e6xxx: Fix stats histogram mode")
Signed-off-by: Andrew Lunn <andrew@lunn.ch>
---
 drivers/net/dsa/mv88e6xxx/global1.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/dsa/mv88e6xxx/global1.c b/drivers/net/dsa/mv88e6xxx/global1.c
index d721ccf7d8be..38e399e0f30e 100644
--- a/drivers/net/dsa/mv88e6xxx/global1.c
+++ b/drivers/net/dsa/mv88e6xxx/global1.c
@@ -567,6 +567,8 @@ int mv88e6xxx_g1_stats_clear(struct mv88e6xxx_chip *chip)
 	if (err)
 		return err;
 
+	/* Keep the histogram mode bits */
+	val &= MV88E6XXX_G1_STATS_OP_HIST_RX_TX;
 	val |= MV88E6XXX_G1_STATS_OP_BUSY | MV88E6XXX_G1_STATS_OP_FLUSH_ALL;
 
 	err = mv88e6xxx_g1_write(chip, MV88E6XXX_G1_STATS_OP, val);
-- 
2.19.1

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [patch net] net: dsa: mv88e6xxx: Fix clearing of stats counters
  2018-11-10 23:41 [patch net] net: dsa: mv88e6xxx: Fix clearing of stats counters Andrew Lunn
@ 2018-11-11 18:19 ` David Miller
  0 siblings, 0 replies; 2+ messages in thread
From: David Miller @ 2018-11-11 18:19 UTC (permalink / raw)
  To: andrew; +Cc: netdev

From: Andrew Lunn <andrew@lunn.ch>
Date: Sun, 11 Nov 2018 00:41:10 +0100

> The mv88e6161 would sometime fail to probe with a timeout waiting for
> the switch to complete an operation. This operation is supposed to
> clear the statistics counters. However, due to a read/modify/write,
> without the needed mask, the operation actually carried out was more
> random, with invalid parameters, resulting in the switch not
> responding. We need to preserve the histogram mode bits, so apply a
> mask to keep them.
> 
> Reported-by: Chris Healy <Chris.Healy@zii.aero>
> Fixes: 40cff8fca9e3 ("net: dsa: mv88e6xxx: Fix stats histogram mode")
> Signed-off-by: Andrew Lunn <andrew@lunn.ch>

Oops.

Applied and queued up for -stable.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2018-11-12  4:09 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-10 23:41 [patch net] net: dsa: mv88e6xxx: Fix clearing of stats counters Andrew Lunn
2018-11-11 18:19 ` David Miller

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.