Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 793332a4 authored by Viktor Babrian's avatar Viktor Babrian Committed by Greg Kroah-Hartman
Browse files

can: c_can: end pending transmission on network stop (ifdown)



commit 7ffd7b4e169d619e66928fe5d997723f2c6f1056 upstream.

Put controller into init mode in network stop to end pending transmissions. The
issue is observed in cases when transmitted frame is not acked.

Signed-off-by: default avatarViktor Babrian <babrian.viktor@renyi.mta.hu>
Cc: linux-stable <stable@vger.kernel.org>
Signed-off-by: default avatarMarc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 427a5746
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -611,6 +611,10 @@ static void c_can_stop(struct net_device *dev)
	struct c_can_priv *priv = netdev_priv(dev);

	c_can_irq_control(priv, false);

	/* put ctrl to init on stop to end ongoing transmission */
	priv->write_reg(priv, C_CAN_CTRL_REG, CONTROL_INIT);

	priv->can.state = CAN_STATE_STOPPED;
}