Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
[firefly-linux-kernel-4.4.55.git] / net / nfc / llcp / commands.c
index c943edb07b72a142909a618e9b0e264d7312ece9..b75a9b3f9e8933ab0a2def3c2fde7248c14ed967 100644 (file)
@@ -174,6 +174,8 @@ struct nfc_llcp_sdp_tlv *nfc_llcp_build_sdreq_tlv(u8 tid, char *uri,
        sdreq->uri = sdreq->tlv + 3;
        memcpy(sdreq->uri, uri, uri_len);
 
+       sdreq->time = jiffies;
+
        INIT_HLIST_NODE(&sdreq->node);
 
        return sdreq;
@@ -571,6 +573,10 @@ int nfc_llcp_send_snl_sdreq(struct nfc_llcp_local *local,
 
        mutex_lock(&local->sdreq_lock);
 
+       if (hlist_empty(&local->pending_sdreqs))
+               mod_timer(&local->sdreq_timer,
+                         jiffies + msecs_to_jiffies(3 * local->remote_lto));
+
        hlist_for_each_entry_safe(sdreq, n, tlv_list, node) {
                pr_debug("tid %d for %s\n", sdreq->tid, sdreq->uri);