cxgb4i: Handle dst_get_neighbour_noref() returning NULL.
Signed-off-by: David S. Miller <davem@davemloft.net> Acked-by: Roland Dreier <roland@purestorage.com>
This commit is contained in:
Родитель
a58b61e5b7
Коммит
51e059bdd6
|
@ -1127,6 +1127,7 @@ static int init_act_open(struct cxgbi_sock *csk)
|
|||
struct net_device *ndev = cdev->ports[csk->port_id];
|
||||
struct port_info *pi = netdev_priv(ndev);
|
||||
struct sk_buff *skb = NULL;
|
||||
struct neighbour *n;
|
||||
unsigned int step;
|
||||
|
||||
log_debug(1 << CXGBI_DBG_TOE | 1 << CXGBI_DBG_SOCK,
|
||||
|
@ -1141,7 +1142,12 @@ static int init_act_open(struct cxgbi_sock *csk)
|
|||
cxgbi_sock_set_flag(csk, CTPF_HAS_ATID);
|
||||
cxgbi_sock_get(csk);
|
||||
|
||||
csk->l2t = cxgb4_l2t_get(lldi->l2t, dst_get_neighbour_noref(csk->dst), ndev, 0);
|
||||
n = dst_get_neighbour_noref(csk->dst);
|
||||
if (!n) {
|
||||
pr_err("%s, can't get neighbour of csk->dst.\n", ndev->name);
|
||||
goto rel_resource;
|
||||
}
|
||||
csk->l2t = cxgb4_l2t_get(lldi->l2t, n, ndev, 0);
|
||||
if (!csk->l2t) {
|
||||
pr_err("%s, cannot alloc l2t.\n", ndev->name);
|
||||
goto rel_resource;
|
||||
|
|
Загрузка…
Ссылка в новой задаче