diff options
author | Gustavo F. Padovan <padovan@profusion.mobi> | 2011-06-24 00:54:50 -0400 |
---|---|---|
committer | Gustavo F. Padovan <padovan@profusion.mobi> | 2011-12-18 14:07:55 -0500 |
commit | eb403a1b7eea9d736c55f78407dccb42b72757a4 (patch) | |
tree | f95cc9128b0a99b0f7c0838da5c77b7f1fa286e4 /net/bluetooth/l2cap_core.c | |
parent | aa2ac881ba1e4e9f878be2ece80001ae8563955c (diff) |
Bluetooth: Remove sk_backlog usage from L2CAP
We run everything in the same lock now. The backlog queue is useless now
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
Diffstat (limited to 'net/bluetooth/l2cap_core.c')
-rw-r--r-- | net/bluetooth/l2cap_core.c | 12 |
1 files changed, 1 insertions, 11 deletions
diff --git a/net/bluetooth/l2cap_core.c b/net/bluetooth/l2cap_core.c index ed67ac0ca21c..31c94fd31611 100644 --- a/net/bluetooth/l2cap_core.c +++ b/net/bluetooth/l2cap_core.c | |||
@@ -1960,8 +1960,6 @@ static void l2cap_ack_timeout(struct work_struct *work) | |||
1960 | 1960 | ||
1961 | static inline void l2cap_ertm_init(struct l2cap_chan *chan) | 1961 | static inline void l2cap_ertm_init(struct l2cap_chan *chan) |
1962 | { | 1962 | { |
1963 | struct sock *sk = chan->sk; | ||
1964 | |||
1965 | chan->expected_ack_seq = 0; | 1963 | chan->expected_ack_seq = 0; |
1966 | chan->unacked_frames = 0; | 1964 | chan->unacked_frames = 0; |
1967 | chan->buffer_seq = 0; | 1965 | chan->buffer_seq = 0; |
@@ -1975,9 +1973,6 @@ static inline void l2cap_ertm_init(struct l2cap_chan *chan) | |||
1975 | skb_queue_head_init(&chan->srej_q); | 1973 | skb_queue_head_init(&chan->srej_q); |
1976 | 1974 | ||
1977 | INIT_LIST_HEAD(&chan->srej_l); | 1975 | INIT_LIST_HEAD(&chan->srej_l); |
1978 | |||
1979 | |||
1980 | sk->sk_backlog_rcv = l2cap_ertm_data_rcv; | ||
1981 | } | 1976 | } |
1982 | 1977 | ||
1983 | static inline __u8 l2cap_select_mode(__u8 mode, __u16 remote_feat_mask) | 1978 | static inline __u8 l2cap_select_mode(__u8 mode, __u16 remote_feat_mask) |
@@ -4203,12 +4198,7 @@ static inline int l2cap_data_channel(struct l2cap_conn *conn, u16 cid, struct sk | |||
4203 | break; | 4198 | break; |
4204 | 4199 | ||
4205 | case L2CAP_MODE_ERTM: | 4200 | case L2CAP_MODE_ERTM: |
4206 | if (!sock_owned_by_user(sk)) { | 4201 | l2cap_ertm_data_rcv(sk, skb); |
4207 | l2cap_ertm_data_rcv(sk, skb); | ||
4208 | } else { | ||
4209 | if (sk_add_backlog(sk, skb)) | ||
4210 | goto drop; | ||
4211 | } | ||
4212 | 4202 | ||
4213 | goto done; | 4203 | goto done; |
4214 | 4204 | ||