Skip to content

Commit b504a88

Browse files
Ziyang Xuanmarckleinebudde
authored andcommitted
can: j1939: j1939_tp_rxtimer(): fix errant alert in j1939_tp_rxtimer
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: 9d71dd0 ("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>
1 parent fac3cb8 commit b504a88

File tree

1 file changed

+2
-3
lines changed

1 file changed

+2
-3
lines changed

net/can/j1939/transport.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1237,12 +1237,11 @@ static enum hrtimer_restart j1939_tp_rxtimer(struct hrtimer *hrtimer)
12371237
session->err = -ETIME;
12381238
j1939_session_deactivate(session);
12391239
} else {
1240-
netdev_alert(priv->ndev, "%s: 0x%p: rx timeout, send abort\n",
1241-
__func__, session);
1242-
12431240
j1939_session_list_lock(session->priv);
12441241
if (session->state >= J1939_SESSION_ACTIVE &&
12451242
session->state < J1939_SESSION_ACTIVE_MAX) {
1243+
netdev_alert(priv->ndev, "%s: 0x%p: rx timeout, send abort\n",
1244+
__func__, session);
12461245
j1939_session_get(session);
12471246
hrtimer_start(&session->rxtimer,
12481247
ms_to_ktime(J1939_XTP_ABORT_TIMEOUT_MS),

0 commit comments

Comments
 (0)