From: James Prestwood <prestwoj@gmail.com>
To: iwd@lists.linux.dev
Cc: James Prestwood <prestwoj@gmail.com>
Subject: [PATCH v2 1/3] station: add additional internal state, STATION_STATE_NETCONFIG
Date: Fri, 5 Jan 2024 06:47:48 -0800 [thread overview]
Message-ID: <20240105144750.839705-1-prestwoj@gmail.com> (raw)
This is still treated as "connecting" from a DBus perspective but
will allow for better handling internally for some roaming corner
cases.
---
src/dpp.c | 1 +
src/station.c | 5 +++++
src/station.h | 1 +
src/wsc.c | 1 +
4 files changed, 8 insertions(+)
diff --git a/src/dpp.c b/src/dpp.c
index af6574fb..74b4c2bc 100644
--- a/src/dpp.c
+++ b/src/dpp.c
@@ -3761,6 +3761,7 @@ static void dpp_station_state_watch(enum station_state state, void *user_data)
case STATION_STATE_CONNECTING:
case STATION_STATE_CONNECTED:
case STATION_STATE_CONNECTING_AUTO:
+ case STATION_STATE_NETCONFIG:
if (L_WARN_ON(dpp->role == DPP_CAPABILITY_CONFIGURATOR))
dpp_reset(dpp);
diff --git a/src/station.c b/src/station.c
index ac53bf2a..68cac945 100644
--- a/src/station.c
+++ b/src/station.c
@@ -1497,6 +1497,8 @@ static const char *station_state_to_string(enum station_state state)
return "ft-roaming";
case STATION_STATE_FW_ROAMING:
return "fw-roaming";
+ case STATION_STATE_NETCONFIG:
+ return "connecting (netconfig)";
}
return "invalid";
@@ -1635,6 +1637,7 @@ static void station_enter_state(struct station *station,
station_set_drop_unicast_l2_multicast(station, false);
break;
case STATION_STATE_DISCONNECTING:
+ case STATION_STATE_NETCONFIG:
break;
case STATION_STATE_ROAMING:
case STATION_STATE_FT_ROAMING:
@@ -3342,6 +3345,7 @@ static void station_disconnect_event(struct station *station, void *event_data)
case STATION_STATE_CONNECTED:
case STATION_STATE_FT_ROAMING:
case STATION_STATE_FW_ROAMING:
+ case STATION_STATE_NETCONFIG:
station_disassociated(station);
return;
default:
@@ -4272,6 +4276,7 @@ static bool station_property_get_state(struct l_dbus *dbus,
break;
case STATION_STATE_CONNECTING:
case STATION_STATE_CONNECTING_AUTO:
+ case STATION_STATE_NETCONFIG:
statestr = "connecting";
break;
case STATION_STATE_CONNECTED:
diff --git a/src/station.h b/src/station.h
index 0d502a08..a38327e4 100644
--- a/src/station.h
+++ b/src/station.h
@@ -45,6 +45,7 @@ enum station_state {
STATION_STATE_ROAMING, /* Reassociation */
STATION_STATE_FT_ROAMING, /* Fast transition */
STATION_STATE_FW_ROAMING, /* Firmware roamed by itself */
+ STATION_STATE_NETCONFIG,
};
enum station_event {
diff --git a/src/wsc.c b/src/wsc.c
index cda877cf..f88f5deb 100644
--- a/src/wsc.c
+++ b/src/wsc.c
@@ -654,6 +654,7 @@ static void wsc_check_can_connect(struct wsc_station_dbus *wsc,
case STATION_STATE_CONNECTING:
case STATION_STATE_CONNECTING_AUTO:
case STATION_STATE_CONNECTED:
+ case STATION_STATE_NETCONFIG:
if (station_disconnect(wsc->station) < 0)
goto error;
--
2.34.1
next reply other threads:[~2024-01-05 14:47 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-05 14:47 James Prestwood [this message]
2024-01-05 14:47 ` [PATCH v2 2/3] station: add handling for new NETCONFIG state James Prestwood
2024-01-05 14:47 ` [PATCH v2 3/3] auto-t: add test for roaming + netconfig James Prestwood
2024-01-09 4:20 ` [PATCH v2 1/3] station: add additional internal state, STATION_STATE_NETCONFIG Denis Kenzior
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240105144750.839705-1-prestwoj@gmail.com \
--to=prestwoj@gmail.com \
--cc=iwd@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox