static int wpssta_deinit(void *sta_wksp) { wps_cleanup(); if (sta_wksp) free(sta_wksp); return 0; }
/* Stop the thread and cleanup */ int wps_stop() { int ret; WPS_DATA *wps_s = (WPS_DATA *) &wps_global; if (wps.initialized == false) return -WM_FAIL; wps.initialized = false; wps_deregister_rx_callback(); wps_session_deinit(); wps_loop_deinit(wps_s); wps_intf_deinit(wps_s); #ifdef CONFIG_P2P ret = wifi_unregister_wfd_event_queue(&wps.peer_event_queue); if (ret) WPS_LOG("Warning: failed to unregister wifi " "event queue: %d\r\n", ret); #endif ret = wps_cleanup(); if (wps.cb(WPS_FINISHED, NULL, 0) == -WM_FAIL) WPS_LOG("WPS Callback failed for event: %d\r\n", WPS_FINISHED); #ifdef CONFIG_P2P if (wps.cb(P2P_FINISHED, NULL, 0) == -WM_FAIL) P2P_LOG("WFD Callback failed for " "event: %d\r\n", P2P_FINISHED); #endif return ret; }