• Home
  • Raw
  • Download

Lines Matching refs:priv

170 static int j1939_xtp_abort_to_errno(struct j1939_priv *priv,  in j1939_xtp_abort_to_errno()  argument
229 netdev_warn(priv->ndev, "Unknown abort code %i", abort); in j1939_xtp_abort_to_errno()
236 static inline void j1939_session_list_lock(struct j1939_priv *priv) in j1939_session_list_lock() argument
238 spin_lock_bh(&priv->active_session_list_lock); in j1939_session_list_lock()
241 static inline void j1939_session_list_unlock(struct j1939_priv *priv) in j1939_session_list_unlock() argument
243 spin_unlock_bh(&priv->active_session_list_lock); in j1939_session_list_unlock()
274 netdev_dbg(session->priv->ndev, "%s: 0x%p\n", __func__, session); in j1939_session_destroy()
285 j1939_priv_put(session->priv); in j1939_session_destroy()
357 struct j1939_priv *priv = session->priv; in j1939_session_skb_queue() local
359 j1939_ac_fixup(priv, skb); in j1939_session_skb_queue()
362 priv->ents[skcb->addr.da].nusers) in j1939_session_skb_queue()
375 struct j1939_priv *priv = session->priv; in j1939_session_skb_get_by_offset() local
397 netdev_dbg(priv->ndev, "%s: 0x%p: no skb found for start: %i, queue size: %i\n", in j1939_session_skb_get_by_offset()
513 j1939_session *j1939_session_get_by_addr_locked(struct j1939_priv *priv, in j1939_session_get_by_addr_locked() argument
520 lockdep_assert_held(&priv->active_session_list_lock); in j1939_session_get_by_addr_locked()
534 j1939_session *j1939_session_get_simple(struct j1939_priv *priv, in j1939_session_get_simple() argument
540 lockdep_assert_held(&priv->active_session_list_lock); in j1939_session_get_simple()
542 list_for_each_entry(session, &priv->active_session_list, in j1939_session_get_simple()
555 j1939_session *j1939_session_get_by_addr(struct j1939_priv *priv, in j1939_session_get_by_addr() argument
561 j1939_session_list_lock(priv); in j1939_session_get_by_addr()
562 session = j1939_session_get_by_addr_locked(priv, in j1939_session_get_by_addr()
563 &priv->active_session_list, in j1939_session_get_by_addr()
565 j1939_session_list_unlock(priv); in j1939_session_get_by_addr()
587 sk_buff *j1939_tp_tx_dat_new(struct j1939_priv *priv, in j1939_tp_tx_dat_new() argument
600 skb->dev = priv->ndev; in j1939_tp_tx_dat_new()
602 can_skb_prv(skb)->ifindex = priv->ndev->ifindex; in j1939_tp_tx_dat_new()
634 struct j1939_priv *priv = session->priv; in j1939_tp_tx_dat() local
637 skb = j1939_tp_tx_dat_new(priv, &session->skcb, in j1939_tp_tx_dat()
646 return j1939_send_one(priv, skb); in j1939_tp_tx_dat()
649 static int j1939_xtp_do_tx_ctl(struct j1939_priv *priv, in j1939_xtp_do_tx_ctl() argument
659 skb = j1939_tp_tx_dat_new(priv, re_skcb, true, swap_src_dst); in j1939_xtp_do_tx_ctl()
669 return j1939_send_one(priv, skb); in j1939_xtp_do_tx_ctl()
675 struct j1939_priv *priv = session->priv; in j1939_tp_tx_ctl() local
677 return j1939_xtp_do_tx_ctl(priv, &session->skcb, in j1939_tp_tx_ctl()
682 static int j1939_xtp_tx_abort(struct j1939_priv *priv, in j1939_xtp_tx_abort() argument
696 return j1939_xtp_do_tx_ctl(priv, re_skcb, swap_src_dst, pgn, dat); in j1939_xtp_tx_abort()
757 netdev_dbg(session->priv->ndev, "%s: 0x%p\n", __func__, session); in j1939_session_tx_rts()
786 netdev_dbg(session->priv->ndev, "%s: 0x%p\n", __func__, session); in j1939_session_tx_dpo()
793 struct j1939_priv *priv = session->priv; in j1939_session_tx_dat() local
824 netdev_err_once(priv->ndev, in j1939_session_tx_dat()
842 netdev_alert(priv->ndev, in j1939_session_tx_dat()
874 struct j1939_priv *priv = session->priv; in j1939_xtp_txnext_transmiter() local
878 netdev_alert(priv->ndev, "%s: 0x%p: called by not transmitter!\n", in j1939_xtp_txnext_transmiter()
904 netdev_alert(priv->ndev, "%s: 0x%p: unexpected last_cmd: %x\n", in j1939_xtp_txnext_transmiter()
913 struct j1939_priv *priv = session->priv; in j1939_session_tx_cts() local
918 if (!j1939_sk_recv_match(priv, &session->skcb)) in j1939_session_tx_cts()
951 netdev_dbg(session->priv->ndev, "%s: 0x%p\n", __func__, session); in j1939_session_tx_cts()
958 struct j1939_priv *priv = session->priv; in j1939_session_tx_eoma() local
962 if (!j1939_sk_recv_match(priv, &session->skcb)) in j1939_session_tx_eoma()
993 netdev_dbg(session->priv->ndev, "%s: 0x%p\n", __func__, session); in j1939_session_tx_eoma()
1000 struct j1939_priv *priv = session->priv; in j1939_xtp_txnext_receiver() local
1004 netdev_alert(priv->ndev, "%s: 0x%p: called by not receiver!\n", in j1939_xtp_txnext_receiver()
1031 netdev_alert(priv->ndev, "%s: 0x%p: unexpected last_cmd: %x\n", in j1939_xtp_txnext_receiver()
1040 struct j1939_priv *priv = session->priv; in j1939_simple_txnext() local
1058 ret = j1939_send_one(priv, skb); in j1939_simple_txnext()
1078 lockdep_assert_held(&session->priv->active_session_list_lock); in j1939_session_deactivate_locked()
1094 struct j1939_priv *priv = session->priv; in j1939_session_deactivate() local
1097 j1939_session_list_lock(priv); in j1939_session_deactivate()
1099 j1939_session_list_unlock(priv); in j1939_session_deactivate()
1114 struct j1939_priv *priv = session->priv; in __j1939_session_cancel() local
1117 lockdep_assert_held(&session->priv->active_session_list_lock); in __j1939_session_cancel()
1119 session->err = j1939_xtp_abort_to_errno(priv, err); in __j1939_session_cancel()
1123 j1939_xtp_tx_abort(priv, &session->skcb, in __j1939_session_cancel()
1135 j1939_session_list_lock(session->priv); in j1939_session_cancel()
1143 j1939_session_list_unlock(session->priv); in j1939_session_cancel()
1153 struct j1939_priv *priv = session->priv; in j1939_tp_txtimer() local
1173 netdev_alert(priv->ndev, "%s: 0x%p: tx retry count reached\n", in j1939_tp_txtimer()
1195 netdev_alert(priv->ndev, "%s: 0x%p: tx aborted with unknown reason: %i\n", in j1939_tp_txtimer()
1218 j1939_sk_recv(session->priv, se_skb); in j1939_session_completed()
1230 struct j1939_priv *priv = session->priv; in j1939_tp_rxtimer() local
1233 netdev_alert(priv->ndev, "%s: 0x%p: abort rx timeout. Force session deactivation\n", in j1939_tp_rxtimer()
1239 netdev_alert(priv->ndev, "%s: 0x%p: Timeout. Failed to send simple message.\n", in j1939_tp_rxtimer()
1248 j1939_session_list_lock(session->priv); in j1939_tp_rxtimer()
1251 netdev_alert(priv->ndev, "%s: 0x%p: rx timeout, send abort\n", in j1939_tp_rxtimer()
1259 j1939_session_list_unlock(session->priv); in j1939_tp_rxtimer()
1275 struct j1939_priv *priv = session->priv; in j1939_xtp_rx_cmd_bad_pgn() local
1318 …netdev_warn(priv->ndev, "%s: 0x%p: CMD 0x%02x with PGN 0x%05x for running session with different P… in j1939_xtp_rx_cmd_bad_pgn()
1321 j1939_xtp_tx_abort(priv, skcb, true, abort, pgn); in j1939_xtp_rx_cmd_bad_pgn()
1326 static void j1939_xtp_rx_abort_one(struct j1939_priv *priv, struct sk_buff *skb, in j1939_xtp_rx_abort_one() argument
1333 session = j1939_session_get_by_addr(priv, &skcb->addr, reverse, in j1939_xtp_rx_abort_one()
1341 netdev_info(priv->ndev, "%s: 0x%p: 0x%05x: (%u) %s\n", __func__, in j1939_xtp_rx_abort_one()
1346 session->err = j1939_xtp_abort_to_errno(priv, abort); in j1939_xtp_rx_abort_one()
1359 j1939_xtp_rx_abort(struct j1939_priv *priv, struct sk_buff *skb, in j1939_xtp_rx_abort() argument
1362 j1939_xtp_rx_abort_one(priv, skb, false, transmitter); in j1939_xtp_rx_abort()
1363 j1939_xtp_rx_abort_one(priv, skb, true, transmitter); in j1939_xtp_rx_abort()
1384 netdev_warn_once(session->priv->ndev, in j1939_xtp_rx_eoma_one()
1390 netdev_dbg(session->priv->ndev, "%s: 0x%p\n", __func__, session); in j1939_xtp_rx_eoma_one()
1399 j1939_xtp_rx_eoma(struct j1939_priv *priv, struct sk_buff *skb, in j1939_xtp_rx_eoma() argument
1405 session = j1939_session_get_by_addr(priv, &skcb->addr, true, in j1939_xtp_rx_eoma()
1426 netdev_dbg(session->priv->ndev, "%s: 0x%p\n", __func__, session); in j1939_xtp_rx_cts_one()
1475 j1939_xtp_rx_cts(struct j1939_priv *priv, struct sk_buff *skb, bool transmitter) in j1939_xtp_rx_cts() argument
1480 session = j1939_session_get_by_addr(priv, &skcb->addr, true, in j1939_xtp_rx_cts()
1488 static struct j1939_session *j1939_session_new(struct j1939_priv *priv, in j1939_session_new() argument
1502 j1939_priv_get(priv); in j1939_session_new()
1503 session->priv = priv; in j1939_session_new()
1520 netdev_dbg(priv->ndev, "%s: 0x%p: sa: %02x, da: %02x\n", in j1939_session_new()
1527 j1939_session *j1939_session_fresh_new(struct j1939_priv *priv, in j1939_session_fresh_new() argument
1539 skb->dev = priv->ndev; in j1939_session_fresh_new()
1541 can_skb_prv(skb)->ifindex = priv->ndev->ifindex; in j1939_session_fresh_new()
1546 session = j1939_session_new(priv, skb, size); in j1939_session_fresh_new()
1560 struct j1939_priv *priv = session->priv; in j1939_session_activate() local
1564 j1939_session_list_lock(priv); in j1939_session_activate()
1566 active = j1939_session_get_by_addr_locked(priv, in j1939_session_activate()
1567 &priv->active_session_list, in j1939_session_activate()
1576 &priv->active_session_list); in j1939_session_activate()
1580 netdev_dbg(session->priv->ndev, "%s: 0x%p\n", in j1939_session_activate()
1583 j1939_session_list_unlock(priv); in j1939_session_activate()
1589 j1939_session *j1939_xtp_rx_rts_session_new(struct j1939_priv *priv, in j1939_xtp_rx_rts_session_new() argument
1599 netdev_dbg(priv->ndev, "%s\n", __func__); in j1939_xtp_rx_rts_session_new()
1605 if (!j1939_sk_recv_match(priv, &skcb)) in j1939_xtp_rx_rts_session_new()
1612 else if (len > priv->tp_max_packet_size) in j1939_xtp_rx_rts_session_new()
1620 else if (len > priv->tp_max_packet_size) in j1939_xtp_rx_rts_session_new()
1627 j1939_xtp_tx_abort(priv, &skcb, true, abort, pgn); in j1939_xtp_rx_rts_session_new()
1631 session = j1939_session_fresh_new(priv, len, &skcb); in j1939_xtp_rx_rts_session_new()
1633 j1939_xtp_tx_abort(priv, &skcb, true, in j1939_xtp_rx_rts_session_new()
1643 netdev_alert(priv->ndev, "%s: 0x%p: strange total, %u != %u\n", in j1939_xtp_rx_rts_session_new()
1653 session->tskey = priv->rx_tskey++; in j1939_xtp_rx_rts_session_new()
1667 …netdev_alert(priv->ndev, "%s: 0x%p: concurrent session with same addr (%02x %02x) is already activ… in j1939_xtp_rx_rts_session_new()
1680 struct j1939_priv *priv = session->priv; in j1939_xtp_rx_rts_session_active() local
1693 netdev_alert(priv->ndev, "%s: 0x%p: connection exists (%02x %02x). last cmd: %x\n", in j1939_xtp_rx_rts_session_active()
1707 …netdev_warn(priv->ndev, "%s: 0x%p: session->skcb.addr.sa=0x%02x skcb->addr.sa=0x%02x session->skcb… in j1939_xtp_rx_rts_session_active()
1718 netdev_dbg(session->priv->ndev, "%s: 0x%p\n", __func__, session); in j1939_xtp_rx_rts_session_active()
1723 static void j1939_xtp_rx_rts(struct j1939_priv *priv, struct sk_buff *skb, in j1939_xtp_rx_rts() argument
1730 session = j1939_session_get_by_addr(priv, &skcb->addr, false, in j1939_xtp_rx_rts()
1752 session = j1939_xtp_rx_rts_session_new(priv, skb); in j1939_xtp_rx_rts()
1754 if (cmd == J1939_TP_CMD_BAM && j1939_sk_recv_match(priv, skcb)) in j1939_xtp_rx_rts()
1755 netdev_info(priv->ndev, "%s: failed to create TP BAM session\n", in j1939_xtp_rx_rts()
1789 netdev_dbg(session->priv->ndev, "%s: 0x%p\n", __func__, session); in j1939_xtp_rx_dpo_one()
1800 static void j1939_xtp_rx_dpo(struct j1939_priv *priv, struct sk_buff *skb, in j1939_xtp_rx_dpo() argument
1806 session = j1939_session_get_by_addr(priv, &skcb->addr, false, in j1939_xtp_rx_dpo()
1809 netdev_info(priv->ndev, in j1939_xtp_rx_dpo()
1822 struct j1939_priv *priv = session->priv; in j1939_xtp_rx_dat_one() local
1856 netdev_info(priv->ndev, "%s: 0x%p: last %02x\n", __func__, in j1939_xtp_rx_dat_one()
1864 netdev_info(priv->ndev, "%s: 0x%p: should have been completed\n", in j1939_xtp_rx_dat_one()
1871 netdev_warn(priv->ndev, "%s: 0x%p: no skb found\n", __func__, in j1939_xtp_rx_dat_one()
1882 netdev_info(priv->ndev, "%s: 0x%p: nbytes %i, len %i\n", in j1939_xtp_rx_dat_one()
1895 netdev_err_once(priv->ndev, in j1939_xtp_rx_dat_one()
1943 static void j1939_xtp_rx_dat(struct j1939_priv *priv, struct sk_buff *skb) in j1939_xtp_rx_dat() argument
1951 session = j1939_session_get_by_addr(priv, &skcb->addr, false, in j1939_xtp_rx_dat()
1954 netdev_info(priv->ndev, "%s: no tx connection found\n", in j1939_xtp_rx_dat()
1961 session = j1939_session_get_by_addr(priv, &skcb->addr, false, in j1939_xtp_rx_dat()
1964 netdev_info(priv->ndev, "%s: no rx connection found\n", in j1939_xtp_rx_dat()
1971 session = j1939_session_get_by_addr(priv, &skcb->addr, false, in j1939_xtp_rx_dat()
1979 struct j1939_session *j1939_tp_send(struct j1939_priv *priv, in j1939_tp_send() argument
1993 if (size > priv->tp_max_packet_size) in j1939_tp_send()
2008 ret = j1939_ac_fixup(priv, skb); in j1939_tp_send()
2014 priv->ents[skcb->addr.da].nusers) in j1939_tp_send()
2021 session = j1939_session_new(priv, skb, size); in j1939_tp_send()
2043 static void j1939_tp_cmd_recv(struct j1939_priv *priv, struct sk_buff *skb) in j1939_tp_cmd_recv() argument
2055 netdev_err_once(priv->ndev, "%s: BAM to unicast (%02x), ignoring!\n", in j1939_tp_cmd_recv()
2065 netdev_alert(priv->ndev, "%s: rts without destination (%02x)\n", in j1939_tp_cmd_recv()
2071 j1939_xtp_rx_rts(priv, skb, true); in j1939_tp_cmd_recv()
2074 j1939_xtp_rx_rts(priv, skb, false); in j1939_tp_cmd_recv()
2086 j1939_xtp_rx_cts(priv, skb, false); in j1939_tp_cmd_recv()
2089 j1939_xtp_rx_cts(priv, skb, true); in j1939_tp_cmd_recv()
2098 j1939_xtp_rx_dpo(priv, skb, true); in j1939_tp_cmd_recv()
2101 j1939_xtp_rx_dpo(priv, skb, false); in j1939_tp_cmd_recv()
2113 j1939_xtp_rx_eoma(priv, skb, false); in j1939_tp_cmd_recv()
2116 j1939_xtp_rx_eoma(priv, skb, true); in j1939_tp_cmd_recv()
2122 netdev_err_once(priv->ndev, "%s: abort to broadcast (%02x), ignoring!\n", in j1939_tp_cmd_recv()
2128 j1939_xtp_rx_abort(priv, skb, true); in j1939_tp_cmd_recv()
2131 j1939_xtp_rx_abort(priv, skb, false); in j1939_tp_cmd_recv()
2139 int j1939_tp_recv(struct j1939_priv *priv, struct sk_buff *skb) in j1939_tp_recv() argument
2151 j1939_xtp_rx_dat(priv, skb); in j1939_tp_recv()
2161 j1939_tp_cmd_recv(priv, skb); in j1939_tp_recv()
2169 void j1939_simple_recv(struct j1939_priv *priv, struct sk_buff *skb) in j1939_simple_recv() argument
2180 j1939_session_list_lock(priv); in j1939_simple_recv()
2181 session = j1939_session_get_simple(priv, skb); in j1939_simple_recv()
2182 j1939_session_list_unlock(priv); in j1939_simple_recv()
2184 netdev_warn(priv->ndev, in j1939_simple_recv()
2195 int j1939_cancel_active_session(struct j1939_priv *priv, struct sock *sk) in j1939_cancel_active_session() argument
2199 netdev_dbg(priv->ndev, "%s, sk: %p\n", __func__, sk); in j1939_cancel_active_session()
2200 j1939_session_list_lock(priv); in j1939_cancel_active_session()
2202 &priv->active_session_list, in j1939_cancel_active_session()
2214 j1939_session_list_unlock(priv); in j1939_cancel_active_session()
2218 void j1939_tp_init(struct j1939_priv *priv) in j1939_tp_init() argument
2220 spin_lock_init(&priv->active_session_list_lock); in j1939_tp_init()
2221 INIT_LIST_HEAD(&priv->active_session_list); in j1939_tp_init()
2222 priv->tp_max_packet_size = J1939_MAX_ETP_PACKET_SIZE; in j1939_tp_init()