From 0c9df85f5ee765d12996c9a9c1effde9407a85b5 Mon Sep 17 00:00:00 2001 From: James Prestwood Date: Thu, 12 Oct 2023 13:01:35 -0700 Subject: [PATCH] dpp: fix retransmits if on operating channel DPP configurators are running the majority of the protocol on the current operating channel, meaning no ROC work. The retry logic was bailing out if !dpp->roc_started with the assumption that DPP was in between requesting offchannel work and it actually starting. For configurators, this may not be the case. The offchannel ID also needs to be checked, and if no work is scheduled we can send the frame. --- src/dpp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/dpp.c b/src/dpp.c index 54b26b15..70e29958 100644 --- a/src/dpp.c +++ b/src/dpp.c @@ -2186,7 +2186,7 @@ static void dpp_frame_timeout(struct l_timeout *timeout, void *user_data) * send. Just bail out now and the roc_started callback will take care * of sending this out. */ - if (!dpp->roc_started) + if (dpp->offchannel_id && !dpp->roc_started) return; dpp_frame_retry(dpp);