diff options
author | David S. Miller <davem@davemloft.net> | 2015-12-03 21:03:21 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-12-03 21:09:12 -0500 |
commit | f188b951f33a0464338f94f928338f84fc0e4392 (patch) | |
tree | 17ad63719242b1de0266627a1dc92ba869a3ba4e /net/bluetooth | |
parent | 6b20da4d8f3f6a3be9f67e3207f435cfaa5f7f97 (diff) | |
parent | 071f5d105a0ae93aeb02197c4ee3557e8cc57a21 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Conflicts:
drivers/net/ethernet/renesas/ravb_main.c
kernel/bpf/syscall.c
net/ipv4/ipmr.c
All three conflicts were cases of overlapping changes.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/bluetooth')
-rw-r--r-- | net/bluetooth/af_bluetooth.c | 6 | ||||
-rw-r--r-- | net/bluetooth/smp.c | 7 |
2 files changed, 9 insertions, 4 deletions
diff --git a/net/bluetooth/af_bluetooth.c b/net/bluetooth/af_bluetooth.c index a83c6a73f562..5785e8e6400e 100644 --- a/net/bluetooth/af_bluetooth.c +++ b/net/bluetooth/af_bluetooth.c | |||
@@ -269,11 +269,11 @@ static long bt_sock_data_wait(struct sock *sk, long timeo) | |||
269 | if (signal_pending(current) || !timeo) | 269 | if (signal_pending(current) || !timeo) |
270 | break; | 270 | break; |
271 | 271 | ||
272 | set_bit(SOCK_ASYNC_WAITDATA, &sk->sk_socket->flags); | 272 | sk_set_bit(SOCKWQ_ASYNC_WAITDATA, sk); |
273 | release_sock(sk); | 273 | release_sock(sk); |
274 | timeo = schedule_timeout(timeo); | 274 | timeo = schedule_timeout(timeo); |
275 | lock_sock(sk); | 275 | lock_sock(sk); |
276 | clear_bit(SOCK_ASYNC_WAITDATA, &sk->sk_socket->flags); | 276 | sk_clear_bit(SOCKWQ_ASYNC_WAITDATA, sk); |
277 | } | 277 | } |
278 | 278 | ||
279 | __set_current_state(TASK_RUNNING); | 279 | __set_current_state(TASK_RUNNING); |
@@ -439,7 +439,7 @@ unsigned int bt_sock_poll(struct file *file, struct socket *sock, | |||
439 | if (!test_bit(BT_SK_SUSPEND, &bt_sk(sk)->flags) && sock_writeable(sk)) | 439 | if (!test_bit(BT_SK_SUSPEND, &bt_sk(sk)->flags) && sock_writeable(sk)) |
440 | mask |= POLLOUT | POLLWRNORM | POLLWRBAND; | 440 | mask |= POLLOUT | POLLWRNORM | POLLWRBAND; |
441 | else | 441 | else |
442 | set_bit(SOCK_ASYNC_NOSPACE, &sk->sk_socket->flags); | 442 | sk_set_bit(SOCKWQ_ASYNC_NOSPACE, sk); |
443 | 443 | ||
444 | return mask; | 444 | return mask; |
445 | } | 445 | } |
diff --git a/net/bluetooth/smp.c b/net/bluetooth/smp.c index c91353841e40..ffed8a1d4f27 100644 --- a/net/bluetooth/smp.c +++ b/net/bluetooth/smp.c | |||
@@ -3027,8 +3027,13 @@ static void smp_ready_cb(struct l2cap_chan *chan) | |||
3027 | 3027 | ||
3028 | BT_DBG("chan %p", chan); | 3028 | BT_DBG("chan %p", chan); |
3029 | 3029 | ||
3030 | /* No need to call l2cap_chan_hold() here since we already own | ||
3031 | * the reference taken in smp_new_conn_cb(). This is just the | ||
3032 | * first time that we tie it to a specific pointer. The code in | ||
3033 | * l2cap_core.c ensures that there's no risk this function wont | ||
3034 | * get called if smp_new_conn_cb was previously called. | ||
3035 | */ | ||
3030 | conn->smp = chan; | 3036 | conn->smp = chan; |
3031 | l2cap_chan_hold(chan); | ||
3032 | 3037 | ||
3033 | if (hcon->type == ACL_LINK && test_bit(HCI_CONN_ENCRYPT, &hcon->flags)) | 3038 | if (hcon->type == ACL_LINK && test_bit(HCI_CONN_ENCRYPT, &hcon->flags)) |
3034 | bredr_pairing(chan); | 3039 | bredr_pairing(chan); |