From: Samuel Ortiz Date: Wed, 3 Apr 2013 14:44:44 +0000 (+0200) Subject: NFC: llcp: Terminate connection when receiving a DISC on (0,0) X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=6d2cd978e5e14c47fa4f8ab3a136e38aceb4940d;p=deliverable%2Flinux.git NFC: llcp: Terminate connection when receiving a DISC on (0,0) According to the LLCP specs, we must terminate the LLCP link when receiving a DISC with both ssap and dsap set to 0. Signed-off-by: Samuel Ortiz --- diff --git a/net/nfc/llcp/llcp.c b/net/nfc/llcp/llcp.c index 3a161c87ef78..9e483c8e52f8 100644 --- a/net/nfc/llcp/llcp.c +++ b/net/nfc/llcp/llcp.c @@ -1106,6 +1106,12 @@ static void nfc_llcp_recv_disc(struct nfc_llcp_local *local, dsap = nfc_llcp_dsap(skb); ssap = nfc_llcp_ssap(skb); + if ((dsap == 0) && (ssap == 0)) { + pr_debug("Connection termination"); + nfc_dep_link_down(local->dev); + return; + } + llcp_sock = nfc_llcp_sock_get(local, dsap, ssap); if (llcp_sock == NULL) { nfc_llcp_send_dm(local, dsap, ssap, LLCP_DM_NOCONN);