diff options
author | Dongxiao Xu <dongxiao.xu@intel.com> | 2010-09-28 09:47:18 +0800 |
---|---|---|
committer | Saul Wold <Saul.Wold@intel.com> | 2010-09-28 15:51:27 -0700 |
commit | 8976fa69d0ddfdad24fe041f4b88c853dc7a33a2 (patch) | |
tree | 3160439ea26993eb3cc9654dc63ac607efb23e52 /meta/recipes-connectivity/connman/connman-0.56 | |
parent | 65ace927bd7983c8966c458f82f6d3ad62065c89 (diff) | |
download | openembedded-core-8976fa69d0ddfdad24fe041f4b88c853dc7a33a2.tar.gz openembedded-core-8976fa69d0ddfdad24fe041f4b88c853dc7a33a2.tar.bz2 openembedded-core-8976fa69d0ddfdad24fe041f4b88c853dc7a33a2.tar.xz openembedded-core-8976fa69d0ddfdad24fe041f4b88c853dc7a33a2.zip |
connman: fix the issue that connman could not disconnect from shutdown AP
Upstream has a fix for MeeGo/Carrick which has the same
phenomenon as our side, therefore port the patch into poky.
This fixes [BUGID #266] and [BUGID #267].
Remove the option "--enable-fake" since it sometimes causes
offline mode failure.
Launch connmand in initlevel 3.
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Diffstat (limited to 'meta/recipes-connectivity/connman/connman-0.56')
-rw-r--r-- | meta/recipes-connectivity/connman/connman-0.56/fix-shutdown-ap-disconnect.patch | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/meta/recipes-connectivity/connman/connman-0.56/fix-shutdown-ap-disconnect.patch b/meta/recipes-connectivity/connman/connman-0.56/fix-shutdown-ap-disconnect.patch new file mode 100644 index 000000000..a0ad0991d --- /dev/null +++ b/meta/recipes-connectivity/connman/connman-0.56/fix-shutdown-ap-disconnect.patch @@ -0,0 +1,42 @@ +Schedule delayed scan when being disconnected from an AP + +When being disconnected from an AP, a delayed scan is scheduled to make +sure the AP is still there. wpa_supplicant removes a BSS from its bss list +when it disappears from the scan results twice in a row. + +Author: Samuel Ortiz <sameo@linux.intel.com> +Ported by Dongxiao Xu <dongxiao.xu@intel.com> + +diff -ruN connman-0.56-orig/plugins/supplicant.c connman-0.56/plugins/supplicant.c +--- connman-0.56-orig/plugins/supplicant.c 2010-09-25 15:08:21.242927383 +0800 ++++ connman-0.56/plugins/supplicant.c 2010-09-25 15:12:46.346136858 +0800 +@@ -2184,6 +2184,15 @@ + scanning == TRUE ? "started" : "finished"); + } + ++static gboolean delayed_scan(gpointer user_data) ++{ ++ struct supplicant_task *task = user_data; ++ ++ supplicant_scan(task->device); ++ ++ return FALSE; ++} ++ + static void state_change(struct supplicant_task *task, DBusMessage *msg) + { + DBusError error; +@@ -2277,7 +2286,13 @@ + task_connect(task); + } else + task->network = NULL; ++ } else { ++ if (task->state == WPA_DISCONNECTED) ++ g_timeout_add_seconds(10, delayed_scan, task); ++ ++ remove_network(task); + } ++ + break; + + default: |