From 7d5da12e8eeb66e045c7def64b1e25bb0f8fd1d5 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Mon, 28 Jan 2019 16:30:00 +0100 Subject: [PATCH] wifi-p2p: don't assert for pending action 'waiting-for-supplicant' in nm_device_p2p_wifi_set_mgmt_iface() [1548688998.8282] device (wlan0): supplicant interface state: starting -> ready [1548688998.8282] device[0x55bd55f19f30] (p2p-dev-wlan0): P2P: Releasing WPA supplicant interfaces. [1548688998.8282] device[0x55bd55f19f30] (p2p-dev-wlan0): P2P: WPA supplicant management interface changed to /fi/w1/wpa> [1548688998.8282] device (p2p-dev-wlan0): remove_pending_action (0): 'waiting-for-supplicant' not pending file src/devices/nm-device.c: line 14134 (nm_device_remove_pending_action): should not be reached #0 0x00007f2c58dad1e5 n/a (libglib-2.0.so.0) #1 0x00007f2c58dae51d g_logv (libglib-2.0.so.0) #2 0x00007f2c58dae6f3 g_log (libglib-2.0.so.0) #3 0x000055bd55246104 nm_device_remove_pending_action (NetworkManager) #4 0x00007f2c487c4864 nm_device_p2p_wifi_set_mgmt_iface (libnm-device-plugin-wifi.so) #5 0x00007f2c58e94c73 n/a (libgobject-2.0.so.0) #6 0x000055bd55233112 constructor (NetworkManager) #7 0x00007f2c58e94e8b n/a (libgobject-2.0.so.0) #8 0x00007f2c58e96fde g_object_new_valist (libgobject-2.0.so.0) #9 0x00007f2c58e9733d g_object_new (libgobject-2.0.so.0) #10 0x00007f2c487c4a65 nm_device_p2p_wifi_new (libnm-device-plugin-wifi.so) #11 0x00007f2c487c6655 recheck_p2p_availability (libnm-device-plugin-wifi.so) #12 0x00007f2c487c9119 supplicant_iface_state_cb (libnm-device-plugin-wifi.so) #13 0x00007f2c58525ace ffi_call_unix64 (libffi.so.6) #14 0x00007f2c5852548f ffi_call (libffi.so.6) #15 0x00007f2c58e903a6 g_cclosure_marshal_generic_va (libgobject-2.0.so.0) #16 0x00007f2c58e8f636 n/a (libgobject-2.0.so.0) #17 0x00007f2c58eabb01 g_signal_emit_valist (libgobject-2.0.so.0) Fixes: 00e64d13320f5848a757765c8541e8160aa8e3e2 --- src/devices/wifi/nm-device-p2p-wifi.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/devices/wifi/nm-device-p2p-wifi.c b/src/devices/wifi/nm-device-p2p-wifi.c index 80fda59c47..e9b7f68c71 100644 --- a/src/devices/wifi/nm-device-p2p-wifi.c +++ b/src/devices/wifi/nm-device-p2p-wifi.c @@ -985,7 +985,8 @@ device_state_changed (NMDevice *device, case NM_DEVICE_STATE_UNMANAGED: break; case NM_DEVICE_STATE_UNAVAILABLE: - if (!priv->mgmt_iface || nm_supplicant_interface_get_state (priv->mgmt_iface) < NM_SUPPLICANT_INTERFACE_STATE_READY) + if ( !priv->mgmt_iface + || nm_supplicant_interface_get_state (priv->mgmt_iface) < NM_SUPPLICANT_INTERFACE_STATE_READY) nm_device_add_pending_action (device, NM_PENDING_ACTION_WAITING_FOR_SUPPLICANT, FALSE); break; @@ -1107,7 +1108,7 @@ nm_device_p2p_wifi_set_mgmt_iface (NMDeviceP2PWifi *self, /* We are not waiting on the supplicant anymore if the state is ready. */ if (nm_supplicant_interface_get_state (priv->mgmt_iface) >= NM_SUPPLICANT_INTERFACE_STATE_READY) - nm_device_remove_pending_action (NM_DEVICE (self), NM_PENDING_ACTION_WAITING_FOR_SUPPLICANT, TRUE); + nm_device_remove_pending_action (NM_DEVICE (self), NM_PENDING_ACTION_WAITING_FOR_SUPPLICANT, FALSE); g_signal_connect_object (priv->mgmt_iface, NM_SUPPLICANT_INTERFACE_STATE, G_CALLBACK (supplicant_iface_state_cb),