]> git.baikalelectronics.ru Git - kernel.git/commit
can: j1939: transport: add j1939_session_skb_find_by_offset() function
authorOleksij Rempel <o.rempel@pengutronix.de>
Fri, 7 Aug 2020 10:51:59 +0000 (12:51 +0200)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Fri, 14 Aug 2020 10:38:47 +0000 (12:38 +0200)
commit7418d178ba9802961d2165c2a6dd430bc288e106
treea2e6c95d36ae1f2839703d737a202c161b07cb5f
parent28514b0593cd56d28ce8cf26aff1f8432551c671
can: j1939: transport: add j1939_session_skb_find_by_offset() function

Sometimes it makes no sense to search the skb by pkt.dpo, since we need
next the skb within the transaction block. This may happen if we have an
ETP session with CTS set to less than 255 packets.

After this patch, we will be able to work with ETP sessions where the
block size (ETP.CM_CTS byte 2) is less than 255 packets.

Reported-by: Henrique Figueira <henrislip@gmail.com>
Reported-by: https://github.com/linux-can/can-utils/issues/228
Fixes: 877b9bba3266 ("can: add support of SAE J1939 protocol")
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Link: https://lore.kernel.org/r/20200807105200.26441-5-o.rempel@pengutronix.de
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
net/can/j1939/transport.c