This is used to hold the current BSS frequency which will be used after IWD receives a presence announcement. Since this was not being set, the logic was always thinking there was a channel mismatch (0 != current_freq) and attempting to go offchannel to '0' which resulted in -EINVAL, and ultimately protocol termination. --- src/dpp.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/dpp.c b/src/dpp.c index de8e6e14..1719a89d 100644 --- a/src/dpp.c +++ b/src/dpp.c @@ -2436,6 +2436,8 @@ static struct l_dbus_message *dpp_start_configurator_common( if (!dpp->mcast_support) dpp->state = DPP_STATE_AUTHENTICATING; + + dpp->new_freq = bss->frequency; } else dpp->current_freq = bss->frequency; -- 2.34.1