diff options
Diffstat (limited to 'net/nfc/llcp/llcp.c')
| -rw-r--r-- | net/nfc/llcp/llcp.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/net/nfc/llcp/llcp.c b/net/nfc/llcp/llcp.c index 92988aa620dc..42994fac26d6 100644 --- a/net/nfc/llcp/llcp.c +++ b/net/nfc/llcp/llcp.c | |||
| @@ -448,6 +448,8 @@ static struct nfc_llcp_sock *nfc_llcp_sock_get(struct nfc_llcp_local *local, | |||
| 448 | { | 448 | { |
| 449 | struct nfc_llcp_sock *sock, *llcp_sock, *n; | 449 | struct nfc_llcp_sock *sock, *llcp_sock, *n; |
| 450 | 450 | ||
| 451 | pr_debug("ssap dsap %d %d\n", ssap, dsap); | ||
| 452 | |||
| 451 | if (ssap == 0 && dsap == 0) | 453 | if (ssap == 0 && dsap == 0) |
| 452 | return NULL; | 454 | return NULL; |
| 453 | 455 | ||
| @@ -783,6 +785,7 @@ static void nfc_llcp_recv_disc(struct nfc_llcp_local *local, | |||
| 783 | static void nfc_llcp_recv_cc(struct nfc_llcp_local *local, struct sk_buff *skb) | 785 | static void nfc_llcp_recv_cc(struct nfc_llcp_local *local, struct sk_buff *skb) |
| 784 | { | 786 | { |
| 785 | struct nfc_llcp_sock *llcp_sock; | 787 | struct nfc_llcp_sock *llcp_sock; |
| 788 | struct sock *sk; | ||
| 786 | u8 dsap, ssap; | 789 | u8 dsap, ssap; |
| 787 | 790 | ||
| 788 | dsap = nfc_llcp_dsap(skb); | 791 | dsap = nfc_llcp_dsap(skb); |
| @@ -801,10 +804,14 @@ static void nfc_llcp_recv_cc(struct nfc_llcp_local *local, struct sk_buff *skb) | |||
| 801 | } | 804 | } |
| 802 | 805 | ||
| 803 | llcp_sock->dsap = ssap; | 806 | llcp_sock->dsap = ssap; |
| 807 | sk = &llcp_sock->sk; | ||
| 804 | 808 | ||
| 805 | nfc_llcp_parse_tlv(local, &skb->data[LLCP_HEADER_SIZE], | 809 | nfc_llcp_parse_tlv(local, &skb->data[LLCP_HEADER_SIZE], |
| 806 | skb->len - LLCP_HEADER_SIZE); | 810 | skb->len - LLCP_HEADER_SIZE); |
| 807 | 811 | ||
| 812 | sk->sk_state = LLCP_CONNECTED; | ||
| 813 | sk->sk_state_change(sk); | ||
| 814 | |||
| 808 | nfc_llcp_sock_put(llcp_sock); | 815 | nfc_llcp_sock_put(llcp_sock); |
| 809 | } | 816 | } |
| 810 | 817 | ||
