diff options
| -rw-r--r-- | net/bluetooth/l2cap.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/net/bluetooth/l2cap.c b/net/bluetooth/l2cap.c index 40cf67c11d20..ecf3e3dcefe3 100644 --- a/net/bluetooth/l2cap.c +++ b/net/bluetooth/l2cap.c | |||
| @@ -3931,6 +3931,10 @@ expected: | |||
| 3931 | return 0; | 3931 | return 0; |
| 3932 | } | 3932 | } |
| 3933 | 3933 | ||
| 3934 | err = l2cap_push_rx_skb(sk, skb, rx_control); | ||
| 3935 | if (err < 0) | ||
| 3936 | return 0; | ||
| 3937 | |||
| 3934 | if (rx_control & L2CAP_CTRL_FINAL) { | 3938 | if (rx_control & L2CAP_CTRL_FINAL) { |
| 3935 | if (pi->conn_state & L2CAP_CONN_REJ_ACT) | 3939 | if (pi->conn_state & L2CAP_CONN_REJ_ACT) |
| 3936 | pi->conn_state &= ~L2CAP_CONN_REJ_ACT; | 3940 | pi->conn_state &= ~L2CAP_CONN_REJ_ACT; |
| @@ -3938,10 +3942,6 @@ expected: | |||
| 3938 | l2cap_retransmit_frames(sk); | 3942 | l2cap_retransmit_frames(sk); |
| 3939 | } | 3943 | } |
| 3940 | 3944 | ||
| 3941 | err = l2cap_push_rx_skb(sk, skb, rx_control); | ||
| 3942 | if (err < 0) | ||
| 3943 | return 0; | ||
| 3944 | |||
| 3945 | __mod_ack_timer(); | 3945 | __mod_ack_timer(); |
| 3946 | 3946 | ||
| 3947 | pi->num_acked = (pi->num_acked + 1) % num_to_ack; | 3947 | pi->num_acked = (pi->num_acked + 1) % num_to_ack; |
