You've already forked linux-rockchip
mirror of
https://github.com/armbian/linux-rockchip.git
synced 2026-01-06 11:08:10 -08:00
can: j1939: j1939_tp_rxtimer(): fix errant alert in j1939_tp_rxtimer
commitb504a884f6upstream. When the session state is J1939_SESSION_DONE, j1939_tp_rxtimer() will give an alert "rx timeout, send abort", but do nothing actually. Move the alert into session active judgment condition, it is more reasonable. One of the scenarios is that j1939_tp_rxtimer() execute followed by j1939_xtp_rx_abort_one(). After j1939_xtp_rx_abort_one(), the session state is J1939_SESSION_DONE, then j1939_tp_rxtimer() give an alert. Fixes:9d71dd0c70("can: add support of SAE J1939 protocol") Link: https://lore.kernel.org/all/20210906094219.95924-1-william.xuanziyang@huawei.com Cc: stable@vger.kernel.org Signed-off-by: Ziyang Xuan <william.xuanziyang@huawei.com> Acked-by: Oleksij Rempel <o.rempel@pengutronix.de> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
053bc12df0
commit
ecfccb1c58
@@ -1230,12 +1230,11 @@ static enum hrtimer_restart j1939_tp_rxtimer(struct hrtimer *hrtimer)
|
||||
session->err = -ETIME;
|
||||
j1939_session_deactivate(session);
|
||||
} else {
|
||||
netdev_alert(priv->ndev, "%s: 0x%p: rx timeout, send abort\n",
|
||||
__func__, session);
|
||||
|
||||
j1939_session_list_lock(session->priv);
|
||||
if (session->state >= J1939_SESSION_ACTIVE &&
|
||||
session->state < J1939_SESSION_ACTIVE_MAX) {
|
||||
netdev_alert(priv->ndev, "%s: 0x%p: rx timeout, send abort\n",
|
||||
__func__, session);
|
||||
j1939_session_get(session);
|
||||
hrtimer_start(&session->rxtimer,
|
||||
ms_to_ktime(J1939_XTP_ABORT_TIMEOUT_MS),
|
||||
|
||||
Reference in New Issue
Block a user