diff options
author | Mohamed Abbas <mabbas@linux.intel.com> | 2010-12-13 16:32:35 +0100 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2010-12-13 16:32:35 +0100 |
commit | 3c72d79d8cda698dee7e517fc556516c2b712cbf (patch) | |
tree | 893dbd6fdaa73e88f8bc292f3c19ad77e9f43189 /gsupplicant | |
parent | 0dafb0f80440a5d24b43b449bdecb5cd79b06242 (diff) | |
download | connman-3c72d79d8cda698dee7e517fc556516c2b712cbf.tar.gz connman-3c72d79d8cda698dee7e517fc556516c2b712cbf.tar.bz2 connman-3c72d79d8cda698dee7e517fc556516c2b712cbf.zip |
gsupplicant: Dont allow scanning while associating
In gsupplicant defer any scanning if association is in progress.
Diffstat (limited to 'gsupplicant')
-rw-r--r-- | gsupplicant/supplicant.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/gsupplicant/supplicant.c b/gsupplicant/supplicant.c index 861936e6..0e4f932b 100644 --- a/gsupplicant/supplicant.c +++ b/gsupplicant/supplicant.c @@ -2007,6 +2007,21 @@ int g_supplicant_interface_scan(GSupplicantInterface *interface, if (interface->scanning == TRUE) return -EALREADY; + switch (interface->state) { + case G_SUPPLICANT_STATE_AUTHENTICATING: + case G_SUPPLICANT_STATE_ASSOCIATING: + case G_SUPPLICANT_STATE_ASSOCIATED: + case G_SUPPLICANT_STATE_4WAY_HANDSHAKE: + case G_SUPPLICANT_STATE_GROUP_HANDSHAKE: + return -EBUSY; + case G_SUPPLICANT_STATE_UNKNOWN: + case G_SUPPLICANT_STATE_DISCONNECTED: + case G_SUPPLICANT_STATE_INACTIVE: + case G_SUPPLICANT_STATE_SCANNING: + case G_SUPPLICANT_STATE_COMPLETED: + break; + } + data = dbus_malloc0(sizeof(*data)); if (data == NULL) return -ENOMEM; |