diff options
author | Andri Yngvason <andri.yngvason@marel.com> | 2015-01-16 09:30:28 -0500 |
---|---|---|
committer | Marc Kleine-Budde <mkl@pengutronix.de> | 2015-01-20 07:56:53 -0500 |
commit | be38a6f9f4093b0f1fa9e7d8cb47d588bc117c21 (patch) | |
tree | 41a834156d6483c55fa28eccfc208449bff67d95 /drivers/net/can/cc770 | |
parent | 0c49087462e8587c12ecfeaf1dd46fdc0ddc4532 (diff) |
can: move can_stats.bus_off++ from can_bus_off into can_change_state
In order to be able to move the stats increment from can_bus_off() into
can_change_state(), the increment had to be moved back into code that was using
can_bus_off() but not can_change_state().
As a side-effect, this patch fixes the following bugs:
* Redundant call to can_bus_off() in c_can.
* Bus-off counted twice in xilinx_can.
Signed-off-by: Andri Yngvason <andri.yngvason@marel.com>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Diffstat (limited to 'drivers/net/can/cc770')
-rw-r--r-- | drivers/net/can/cc770/cc770.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/can/cc770/cc770.c b/drivers/net/can/cc770/cc770.c index c486fe510f37..c11d44984036 100644 --- a/drivers/net/can/cc770/cc770.c +++ b/drivers/net/can/cc770/cc770.c | |||
@@ -535,6 +535,7 @@ static int cc770_err(struct net_device *dev, u8 status) | |||
535 | cc770_write_reg(priv, control, CTRL_INI); | 535 | cc770_write_reg(priv, control, CTRL_INI); |
536 | cf->can_id |= CAN_ERR_BUSOFF; | 536 | cf->can_id |= CAN_ERR_BUSOFF; |
537 | priv->can.state = CAN_STATE_BUS_OFF; | 537 | priv->can.state = CAN_STATE_BUS_OFF; |
538 | priv->can.can_stats.bus_off++; | ||
538 | can_bus_off(dev); | 539 | can_bus_off(dev); |
539 | } else if (status & STAT_WARN) { | 540 | } else if (status & STAT_WARN) { |
540 | cf->can_id |= CAN_ERR_CRTL; | 541 | cf->can_id |= CAN_ERR_CRTL; |