.. | .. |
---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-only |
---|
1 | 2 | /* net/atm/clip.c - RFC1577 Classical IP over ATM */ |
---|
2 | 3 | |
---|
3 | 4 | /* Written 1995-2000 by Werner Almesberger, EPFL LRC/ICA */ |
---|
.. | .. |
---|
88 | 89 | struct clip_vcc **walk; |
---|
89 | 90 | |
---|
90 | 91 | if (!entry) { |
---|
91 | | - pr_crit("!clip_vcc->entry (clip_vcc %p)\n", clip_vcc); |
---|
| 92 | + pr_err("!clip_vcc->entry (clip_vcc %p)\n", clip_vcc); |
---|
92 | 93 | return; |
---|
93 | 94 | } |
---|
94 | 95 | netif_tx_lock_bh(entry->neigh->dev); /* block clip_start_xmit() */ |
---|
.. | .. |
---|
108 | 109 | error = neigh_update(entry->neigh, NULL, NUD_NONE, |
---|
109 | 110 | NEIGH_UPDATE_F_ADMIN, 0); |
---|
110 | 111 | if (error) |
---|
111 | | - pr_crit("neigh_update failed with %d\n", error); |
---|
| 112 | + pr_err("neigh_update failed with %d\n", error); |
---|
112 | 113 | goto out; |
---|
113 | 114 | } |
---|
114 | | - pr_crit("ATMARP: failed (entry %p, vcc 0x%p)\n", entry, clip_vcc); |
---|
| 115 | + pr_err("ATMARP: failed (entry %p, vcc 0x%p)\n", entry, clip_vcc); |
---|
115 | 116 | out: |
---|
116 | 117 | netif_tx_unlock_bh(entry->neigh->dev); |
---|
117 | 118 | } |
---|
.. | .. |
---|
345 | 346 | return NETDEV_TX_OK; |
---|
346 | 347 | } |
---|
347 | 348 | rt = (struct rtable *) dst; |
---|
348 | | - if (rt->rt_gateway) |
---|
349 | | - daddr = &rt->rt_gateway; |
---|
| 349 | + if (rt->rt_gw_family == AF_INET) |
---|
| 350 | + daddr = &rt->rt_gw4; |
---|
350 | 351 | else |
---|
351 | 352 | daddr = &ip_hdr(skb)->daddr; |
---|
352 | 353 | n = dst_neigh_lookup(dst, daddr); |
---|