diff --git a/net/atm/lec.c b/net/atm/lec.c index fb93c6e1c329..4e752b4b623e 100644 --- a/net/atm/lec.c +++ b/net/atm/lec.c @@ -534,9 +534,9 @@ send_to_lecd(struct lec_priv *priv, atmlec_msg_type type, atm_force_charge(priv->lecd, skb->truesize); sk = sk_atm(priv->lecd); + sock_hold(sk); skb_queue_tail(&sk->sk_receive_queue, skb); sk->sk_data_ready(sk); - if (data != NULL) { pr_debug("about to send %d bytes of data\n", data->len); atm_force_charge(priv->lecd, data->truesize); @@ -544,6 +544,7 @@ send_to_lecd(struct lec_priv *priv, atmlec_msg_type type, sk->sk_data_ready(sk); } + sock_put(sk); return 0; }