|
@@ -254,12 +254,14 @@ static void pppol2tp_recv(struct l2tp_session *session, struct sk_buff *skb, int
|
|
po = pppox_sk(sk);
|
|
po = pppox_sk(sk);
|
|
ppp_input(&po->chan, skb);
|
|
ppp_input(&po->chan, skb);
|
|
} else {
|
|
} else {
|
|
- l2tp_info(session, PPPOL2TP_MSG_DATA, "%s: socket not bound\n",
|
|
|
|
- session->name);
|
|
|
|
|
|
+ l2tp_dbg(session, PPPOL2TP_MSG_DATA,
|
|
|
|
+ "%s: recv %d byte data frame, passing to L2TP socket\n",
|
|
|
|
+ session->name, data_len);
|
|
|
|
|
|
- /* Not bound. Nothing we can do, so discard. */
|
|
|
|
- atomic_long_inc(&session->stats.rx_errors);
|
|
|
|
- kfree_skb(skb);
|
|
|
|
|
|
+ if (sock_queue_rcv_skb(sk, skb) < 0) {
|
|
|
|
+ atomic_long_inc(&session->stats.rx_errors);
|
|
|
|
+ kfree_skb(skb);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
return;
|
|
return;
|