void
dhd_conf_wifi_power(bool on)
{
	extern struct wl_priv *wlcfg_drv_priv;
	printk("%s: Enter %d\n", __FUNCTION__, on);
	if (on) {
		wl_cfg80211_user_sync(true);
		wl_android_wifi_on(g_netdev);
		wl_cfg80211_send_disconnect();
		if (wlcfg_drv_priv && wlcfg_drv_priv->p2p)
		wl_cfgp2p_start_p2p_device(NULL, NULL);
		else		
			printk("======= ON : no p2p ======\n");
        //wl_cfg80211_up(NULL);
		wl_cfg80211_user_sync(false);
		wifi_ready = true;
	} else {
		wifi_ready = false;
        //wl_cfg80211_down(NULL);
		if (wlcfg_drv_priv && wlcfg_drv_priv->p2p) {
		wl_cfgp2p_clear_management_ie(wlcfg_drv_priv, 0);
		wl_cfgp2p_clear_management_ie(wlcfg_drv_priv, 1);
		wl_cfgp2p_stop_p2p_device(NULL, wlcfg_drv_priv->p2p_wdev);
		} else 
			printk("======= OFF : no p2p ======\n");
		dhd_conf_wifi_stop(g_netdev);
	}
	printk("%s: Exit %d\n", __FUNCTION__, on);
}
Ejemplo n.º 2
0
void
dhd_conf_wifi_power(bool on)
{
	printk("%s: Enter %d\n", __FUNCTION__, on);
	if (on) {
		wl_cfg80211_user_sync(true);
		wl_android_wifi_on(g_netdev);
		wl_cfg80211_send_disconnect();
		wl_cfg80211_user_sync(false);
	} else {
		dhd_conf_wifi_stop(g_netdev);
	}
}