diff --git a/net/can/j1939/transport.c b/net/can/j1939/transport.c index 307ee1174..b28491744 100644 --- a/net/can/j1939/transport.c +++ b/net/can/j1939/transport.c @@ -374,7 +374,7 @@ sk_buff *j1939_session_skb_get_by_offset(struct j1939_session *session, skb_queue_walk(&session->skb_queue, do_skb) { do_skcb = j1939_skb_to_cb(do_skb); - if (offset_start >= do_skcb->offset && + if (skb == NULL && offset_start >= do_skcb->offset && offset_start < (do_skcb->offset + do_skb->len)) { skb = do_skb; }