diff options
author | Thierry Escande <thierry.escande@linux.intel.com> | 2013-03-04 09:43:32 -0500 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2013-03-10 18:16:41 -0400 |
commit | 40213fa8513c2a92e7390f25571f7c17c7955e2b (patch) | |
tree | 06e02361b9563018bacd648991997aa864af904c /net/nfc/llcp/llcp.h | |
parent | d9b8d8e19b073096d3609bbd60f82148d128b555 (diff) |
NFC: llcp: Add cleanup support for unreplied SNL requests
If the remote LLC doesn't reply in time to our SNL requests we remove
them from the list of pending requests. The timeout is fixed to an
arbitrary value of 3 times remote_lto.
When not replied, the local LLC broadcasts NFC_EVENT_LLC_SDRES nl events for
the concerned uris with sap values set to LLCP_SDP_UNBOUND (which is 65).
Signed-off-by: Thierry Escande <thierry.escande@linux.intel.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'net/nfc/llcp/llcp.h')
-rw-r--r-- | net/nfc/llcp/llcp.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/net/nfc/llcp/llcp.h b/net/nfc/llcp/llcp.h index ca8c6d94ab85..7e87a66b02ec 100644 --- a/net/nfc/llcp/llcp.h +++ b/net/nfc/llcp/llcp.h | |||
@@ -54,6 +54,8 @@ struct nfc_llcp_sdp_tlv { | |||
54 | u8 tid; | 54 | u8 tid; |
55 | u8 sap; | 55 | u8 sap; |
56 | 56 | ||
57 | unsigned long time; | ||
58 | |||
57 | struct hlist_node node; | 59 | struct hlist_node node; |
58 | }; | 60 | }; |
59 | 61 | ||
@@ -99,6 +101,8 @@ struct nfc_llcp_local { | |||
99 | 101 | ||
100 | struct mutex sdreq_lock; | 102 | struct mutex sdreq_lock; |
101 | struct hlist_head pending_sdreqs; | 103 | struct hlist_head pending_sdreqs; |
104 | struct timer_list sdreq_timer; | ||
105 | struct work_struct sdreq_timeout_work; | ||
102 | u8 sdreq_next_tid; | 106 | u8 sdreq_next_tid; |
103 | 107 | ||
104 | /* sockets array */ | 108 | /* sockets array */ |