diff options
| author | Michael Biebl <biebl@debian.org> | 2016-08-08 23:44:24 +0200 |
|---|---|---|
| committer | Michael Biebl <biebl@debian.org> | 2016-08-09 09:13:21 +0200 |
| commit | 959245f9c90f16774e139c5249bc53c098e3789b (patch) | |
| tree | c21283c8def9bcb298bf072541ba96f3c3812c42 | |
| parent | 31bf695cc438fa57869ed7fe5b6199b7fd4ce71c (diff) | |
Clear WiFi requested_scan if wpa_supplicant exits or goes inactive
Patches cherry-picked from upstream Git.
| -rw-r--r-- | debian/changelog | 2 | ||||
| -rw-r--r-- | debian/patches/series | 2 | ||||
| -rw-r--r-- | debian/patches/wifi-clear-WiFi-requested_scan-if-suppl-exits.patch | 29 | ||||
| -rw-r--r-- | debian/patches/wifi-clear-WiFi-requested_scan-if-suppl-goes-INACTIVE.patch | 31 |
4 files changed, 64 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog index 928115bb..dd66957d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -6,6 +6,8 @@ network-manager (1.2.4-1) UNRELEASED; urgency=medium * Replace /etc/resolv.conf symlink with an empty file on package removal to signal other packages that NetworkManager is no longer controlling the file. (Closes: #826366) + * Clear WiFi requested_scan if wpa_supplicant exits or goes inactive. + Patches cherry-picked from upstream Git. -- Michael Biebl <biebl@debian.org> Wed, 03 Aug 2016 23:01:13 +0200 diff --git a/debian/patches/series b/debian/patches/series index e74194c5..4cc519bd 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -5,3 +5,5 @@ Check-at-runtime-whether-to-start-ModemManager.patch Don-t-make-NetworkManager-D-Bus-activatable.patch systemd-Don-t-enable-NetworkManager-wait-online.service-s.patch Fix-iscsiadm-path.patch +wifi-clear-WiFi-requested_scan-if-suppl-exits.patch +wifi-clear-WiFi-requested_scan-if-suppl-goes-INACTIVE.patch diff --git a/debian/patches/wifi-clear-WiFi-requested_scan-if-suppl-exits.patch b/debian/patches/wifi-clear-WiFi-requested_scan-if-suppl-exits.patch new file mode 100644 index 00000000..974c24fd --- /dev/null +++ b/debian/patches/wifi-clear-WiFi-requested_scan-if-suppl-exits.patch @@ -0,0 +1,29 @@ +From: Tony Espy <espy@canonical.com> +Date: Thu, 16 Jun 2016 15:07:33 -0400 +Subject: wifi: clear WiFi requested_scan if suppl exits + +It's possible for wpa_supplicant to exit with an +outstanding requested_scan pending. This can lead +to a stall condition where scanning no longer occurs. + +https://mail.gnome.org/archives/networkmanager-list/2016-June/msg00117.html +--- + src/devices/wifi/nm-device-wifi.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/src/devices/wifi/nm-device-wifi.c b/src/devices/wifi/nm-device-wifi.c +index 82b12a1..cce2f26 100644 +--- a/src/devices/wifi/nm-device-wifi.c ++++ b/src/devices/wifi/nm-device-wifi.c +@@ -246,6 +246,11 @@ supplicant_interface_release (NMDeviceWifi *self) + + priv = NM_DEVICE_WIFI_GET_PRIVATE (self); + ++ if (priv->requested_scan) { ++ priv->requested_scan = FALSE; ++ nm_device_remove_pending_action (NM_DEVICE (self), "scan", TRUE); ++ } ++ + nm_clear_g_source (&priv->pending_scan_id); + + /* Reset the scan interval to be pretty frequent when disconnected */ diff --git a/debian/patches/wifi-clear-WiFi-requested_scan-if-suppl-goes-INACTIVE.patch b/debian/patches/wifi-clear-WiFi-requested_scan-if-suppl-goes-INACTIVE.patch new file mode 100644 index 00000000..2882f85f --- /dev/null +++ b/debian/patches/wifi-clear-WiFi-requested_scan-if-suppl-goes-INACTIVE.patch @@ -0,0 +1,31 @@ +From: Tony Espy <espy@canonical.com> +Date: Thu, 16 Jun 2016 15:07:32 -0400 +Subject: wifi: clear WiFi requested_scan if suppl goes INACTIVE + +It's possible for wpa_supplicant to transition to INACTIVE +state with an outstanding requested_scan pending. This can +lead to a stall condition where scanning no longer occurs. + +[thaller@redhat.com: added break statement to avoid fall-through] + +https://mail.gnome.org/archives/networkmanager-list/2016-June/msg00116.html +--- + src/devices/wifi/nm-device-wifi.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/src/devices/wifi/nm-device-wifi.c b/src/devices/wifi/nm-device-wifi.c +index cce2f26..17f5b14 100644 +--- a/src/devices/wifi/nm-device-wifi.c ++++ b/src/devices/wifi/nm-device-wifi.c +@@ -1956,6 +1956,11 @@ supplicant_iface_state_cb (NMSupplicantInterface *iface, + else + _LOGI (LOGD_DEVICE | LOGD_WIFI, "supplicant interface keeps failing, giving up"); + break; ++ case NM_SUPPLICANT_INTERFACE_STATE_INACTIVE: ++ priv->requested_scan = FALSE; ++ nm_clear_g_source (&priv->pending_scan_id); ++ request_wireless_scan (self, NULL); ++ break; + default: + break; + } |