コード例 #1
0
static int
wpssta_deinit(void *sta_wksp)
{
	wps_cleanup();
	if (sta_wksp)
		free(sta_wksp);
	return 0;
}
コード例 #2
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;
}