Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2bc0c5fe authored by Irfan Sheriff's avatar Irfan Sheriff
Browse files

Handle group tear down only at group removed event

Handling group removal at disconnect causes issues where supplicant keeps
the group and then the next invocation fails

Bug: 7403755
Change-Id: Iea7e5ec98486607f8e2c4a55be3743e0545a9da7
parent cd668554
Loading
Loading
Loading
Loading
+11 −3
Original line number Diff line number Diff line
@@ -1566,9 +1566,17 @@ public class WifiP2pService extends IWifiP2pManager.Stub {
                                WifiP2pManager.ERROR);
                    }
                    break;
                /* The supplicant misses the group removed event at times and just
                 * sends a network disconnect event */
                case WifiMonitor.NETWORK_DISCONNECTION_EVENT:
                /* We do not listen to NETWORK_DISCONNECTION_EVENT for group removal
                 * handling since supplicant actually tries to reconnect after a temporary
                 * disconnect until group idle time out. Eventually, a group removal event
                 * will come when group has been removed.
                 *
                 * When there are connectivity issues during temporary disconnect, the application
                 * will also just remove the group.
                 *
                 * Treating network disconnection as group removal causes race conditions since
                 * supplicant would still maintain the group at that stage.
                 */
                case WifiMonitor.P2P_GROUP_REMOVED_EVENT:
                    if (DBG) logd(getName() + " group removed");
                    handleGroupRemoved();