P2P: Stop TX wait on SD query TX status failure
authorJouni Malinen <jouni@qca.qualcomm.com>
Thu, 23 Oct 2014 18:52:05 +0000 (21:52 +0300)
committerJouni Malinen <j@w1.fi>
Thu, 23 Oct 2014 18:52:05 +0000 (21:52 +0300)
The previous TX operation could be on another channel if there are
multiple peers with pending SD queries. To avoid failing to send the
following query, stop the last one to allow any Listen channel to be
used for the following query during p2p_find iteration.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
src/p2p/p2p.c

index 7c13188..a5712eb 100644 (file)
@@ -2837,6 +2837,8 @@ static void p2p_sd_cb(struct p2p_data *p2p, int success)
        p2p->pending_action_state = P2P_NO_PENDING_ACTION;
 
        if (!success) {
+               if (p2p->sd_peer)
+                       p2p->cfg->send_action_done(p2p->cfg->cb_ctx);
                p2p->sd_peer = NULL;
                p2p_continue_find(p2p);
                return;