summaryrefslogtreecommitdiff
path: root/drivers/net/can/pch_can.c
diff options
context:
space:
mode:
authorAndri Yngvason <andri.yngvason@marel.com>2015-01-16 17:30:28 +0300
committerMarc Kleine-Budde <mkl@pengutronix.de>2015-01-20 15:56:53 +0300
commitbe38a6f9f4093b0f1fa9e7d8cb47d588bc117c21 (patch)
tree41a834156d6483c55fa28eccfc208449bff67d95 /drivers/net/can/pch_can.c
parent0c49087462e8587c12ecfeaf1dd46fdc0ddc4532 (diff)
downloadlinux-be38a6f9f4093b0f1fa9e7d8cb47d588bc117c21.tar.xz
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/pch_can.c')
-rw-r--r--drivers/net/can/pch_can.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/can/pch_can.c b/drivers/net/can/pch_can.c
index a67eb01f3028..e187ca783da0 100644
--- a/drivers/net/can/pch_can.c
+++ b/drivers/net/can/pch_can.c
@@ -505,6 +505,7 @@ static void pch_can_error(struct net_device *ndev, u32 status)
pch_can_set_rx_all(priv, 0);
state = CAN_STATE_BUS_OFF;
cf->can_id |= CAN_ERR_BUSOFF;
+ priv->can.can_stats.bus_off++;
can_bus_off(ndev);
}