Lines Matching refs:apsta_params

357 	struct wl_apsta_params *apsta_params = dhd->iapsta_params;  in wl_get_cur_if()  local
362 tmp_if = &apsta_params->if_info[i]; in wl_get_cur_if()
642 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_set_emode() local
689 apsta_params->apstamode == ISTAAP_MODE) { in wl_ext_set_emode()
928 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_iapsta_if_2g_enabled() local
936 tmp_if = &apsta_params->if_info[i]; in wl_ext_iapsta_if_2g_enabled()
1003 wl_ext_if_enabled(struct wl_apsta_params *apsta_params, ifmode_t ifmode) in wl_ext_if_enabled() argument
1009 tmp_if = &apsta_params->if_info[i]; in wl_ext_if_enabled()
1221 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_mesh_clear_mesh_info() local
1222 struct wl_mesh_params *mesh_info = &apsta_params->mesh_info; in wl_mesh_clear_mesh_info()
1240 wl_mesh_update_vndr_ie(struct wl_apsta_params *apsta_params, in wl_mesh_update_vndr_ie() argument
1243 struct wl_mesh_params *mesh_info = &apsta_params->mesh_info; in wl_mesh_update_vndr_ie()
1301 wl_mesh_update_master_info(struct wl_apsta_params *apsta_params, in wl_mesh_update_master_info() argument
1304 struct wl_mesh_params *mesh_info = &apsta_params->mesh_info; in wl_mesh_update_master_info()
1308 sta_if = wl_ext_if_enabled(apsta_params, ISTA_MODE); in wl_mesh_update_master_info()
1315 if (!wl_mesh_update_vndr_ie(apsta_params, mesh_if)) in wl_mesh_update_master_info()
1323 wl_mesh_update_mesh_info(struct wl_apsta_params *apsta_params, in wl_mesh_update_mesh_info() argument
1326 struct wl_mesh_params *mesh_info = &apsta_params->mesh_info, peer_mesh_info; in wl_mesh_update_mesh_info()
1370 if (wl_mesh_update_vndr_ie(apsta_params, mesh_if)) { in wl_mesh_update_mesh_info()
1413 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_mesh_event_handler() local
1414 struct wl_mesh_params *mesh_info = &apsta_params->mesh_info; in wl_mesh_event_handler()
1426 tmp_if = &apsta_params->if_info[i]; in wl_mesh_event_handler()
1437 if (mesh_if && apsta_params->macs) in wl_mesh_event_handler()
1440 if (mesh_if && apsta_params->macs) in wl_mesh_event_handler()
1441 wl_mesh_update_master_info(apsta_params, mesh_if); in wl_mesh_event_handler()
1445 if (mesh_if && apsta_params->macs) in wl_mesh_event_handler()
1450 if (mesh_if && apsta_params->macs) in wl_mesh_event_handler()
1454 else if (cur_if->ifmode == IMESH_MODE && apsta_params->macs) { in wl_mesh_event_handler()
1459 if (!wl_mesh_update_master_info(apsta_params, mesh_if)) { in wl_mesh_event_handler()
1484 if (!wl_mesh_update_master_info(apsta_params, mesh_if)) { in wl_mesh_event_handler()
1503 if (!wl_mesh_update_master_info(apsta_params, mesh_if)) { in wl_mesh_event_handler()
1504 if (!wl_mesh_update_mesh_info(apsta_params, mesh_if)) { in wl_mesh_event_handler()
1591 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_isam_peer_path() local
1592 struct wl_mesh_params *mesh_info = &apsta_params->mesh_info; in wl_ext_isam_peer_path()
1612 tmp_if = &apsta_params->if_info[i]; in wl_ext_isam_peer_path()
1613 if (tmp_if->dev && tmp_if->ifmode == IMESH_MODE && apsta_params->macs) { in wl_ext_isam_peer_path()
1645 wl_ext_if_down(struct wl_apsta_params *apsta_params, struct wl_if_info *cur_if) in wl_ext_if_down() argument
1653 apstamode_t apstamode = apsta_params->apstamode; in wl_ext_if_down()
1680 wl_ext_if_up(struct wl_apsta_params *apsta_params, struct wl_if_info *cur_if, in wl_ext_if_up() argument
1689 apstamode_t apstamode = apsta_params->apstamode; in wl_ext_if_up()
1700 if (wl_ext_dfs_chan(chan_info) && !apsta_params->radar && !force_enable) { in wl_ext_if_up()
1731 timeout = wait_event_interruptible_timeout(apsta_params->netif_change_event, in wl_ext_if_up()
1735 wl_ext_if_down(apsta_params, cur_if); in wl_ext_if_up()
1776 wl_ext_get_same_band_chan(struct wl_apsta_params *apsta_params, in wl_ext_get_same_band_chan() argument
1788 tmp_if = &apsta_params->if_info[i]; in wl_ext_get_same_band_chan()
1806 wl_ext_get_vsdb_chan(struct wl_apsta_params *apsta_params, in wl_ext_get_vsdb_chan() argument
1826 if (!apsta_params->rsdb) in wl_ext_get_vsdb_chan()
1838 wl_ext_rsdb_core_conflict(struct wl_apsta_params *apsta_params, in wl_ext_rsdb_core_conflict() argument
1845 if (apsta_params->rsdb) { in wl_ext_rsdb_core_conflict()
1849 tmp_if = &apsta_params->if_info[i]; in wl_ext_rsdb_core_conflict()
1869 wl_ext_trigger_csa(struct wl_apsta_params *apsta_params, struct wl_if_info *cur_if) in wl_ext_trigger_csa() argument
1874 if (wl_ext_master_if(cur_if) && (apsta_params->csa & CSA_DRV_BIT)) { in wl_ext_trigger_csa()
1877 } else if (wl_ext_dfs_chan(&cur_if->chan_info) && !apsta_params->radar) { in wl_ext_trigger_csa()
1880 wl_ext_if_down(apsta_params, cur_if); in wl_ext_trigger_csa()
1887 core_conflict = wl_ext_rsdb_core_conflict(apsta_params, cur_if); in wl_ext_trigger_csa()
1910 wl_ext_move_cur_dfs_channel(struct wl_apsta_params *apsta_params, in wl_ext_move_cur_dfs_channel() argument
1918 if (!apsta_params->radar && wl_ext_master_if(cur_if) && in wl_ext_move_cur_dfs_channel()
1926 if (apsta_params->vsdb) { in wl_ext_move_cur_dfs_channel()
1931 auto_chan = wl_ext_get_same_band_chan(apsta_params, cur_if, TRUE); in wl_ext_move_cur_dfs_channel()
1940 else if (apsta_params->rsdb) { in wl_ext_move_cur_dfs_channel()
1943 auto_chan = wl_ext_get_same_band_chan(apsta_params, cur_if, FALSE); in wl_ext_move_cur_dfs_channel()
1947 auto_chan = wl_ext_get_same_band_chan(apsta_params, cur_if, TRUE); in wl_ext_move_cur_dfs_channel()
1952 auto_chan = wl_ext_get_same_band_chan(apsta_params, cur_if, TRUE); in wl_ext_move_cur_dfs_channel()
1965 auto_chan = wl_ext_get_same_band_chan(apsta_params, cur_if, FALSE); in wl_ext_move_cur_dfs_channel()
1984 wl_ext_move_other_dfs_channel(struct wl_apsta_params *apsta_params, in wl_ext_move_other_dfs_channel() argument
1992 if (!apsta_params->radar && wl_ext_master_if(tgt_if) && in wl_ext_move_other_dfs_channel()
2001 if (apsta_params->vsdb) { in wl_ext_move_other_dfs_channel()
2006 auto_chan = wl_ext_get_same_band_chan(apsta_params, tgt_if, TRUE); in wl_ext_move_other_dfs_channel()
2016 else if (apsta_params->rsdb) { in wl_ext_move_other_dfs_channel()
2019 auto_chan = wl_ext_get_same_band_chan(apsta_params, tgt_if, TRUE); in wl_ext_move_other_dfs_channel()
2041 wl_ext_move_cur_channel(struct wl_apsta_params *apsta_params, in wl_ext_move_cur_channel() argument
2050 if (apsta_params->vsdb) { in wl_ext_move_cur_channel()
2057 tmp_if = &apsta_params->if_info[i]; in wl_ext_move_cur_channel()
2060 tmp_chan = wl_ext_get_vsdb_chan(apsta_params, cur_if, tmp_if); in wl_ext_move_cur_channel()
2073 if (apsta_params->rsdb && cur_chan_info.chan && in wl_ext_move_cur_channel()
2089 wl_ext_move_cur_dfs_channel(apsta_params, cur_if); in wl_ext_move_cur_channel()
2095 wl_ext_move_other_channel(struct wl_apsta_params *apsta_params, in wl_ext_move_other_channel() argument
2103 if (apsta_params->vsdb || !cur_if->chan_info.chan) { in wl_ext_move_other_channel()
2110 tmp_if = &apsta_params->if_info[i]; in wl_ext_move_other_channel()
2113 tmp_chan = wl_ext_get_vsdb_chan(apsta_params, cur_if, tmp_if); in wl_ext_move_other_channel()
2127 wl_ext_move_other_dfs_channel(apsta_params, target_if); in wl_ext_move_other_channel()
2128 if (apsta_params->csa == 0) { in wl_ext_move_other_channel()
2129 wl_ext_if_down(apsta_params, target_if); in wl_ext_move_other_channel()
2130 wl_ext_move_other_channel(apsta_params, cur_if); in wl_ext_move_other_channel()
2134 wl_ext_if_up(apsta_params, target_if, FALSE, 0); in wl_ext_move_other_channel()
2137 wl_ext_trigger_csa(apsta_params, target_if); in wl_ext_move_other_channel()
2145 wl_ext_wait_other_enabling(struct wl_apsta_params *apsta_params, in wl_ext_wait_other_enabling() argument
2154 tmp_if = &apsta_params->if_info[i]; in wl_ext_wait_other_enabling()
2165 apsta_params->netif_change_event, in wl_ext_wait_other_enabling()
2171 apsta_params->netif_change_event, in wl_ext_wait_other_enabling()
2193 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_iapsta_other_if_enabled() local
2199 tmp_if = &apsta_params->if_info[i]; in wl_ext_iapsta_other_if_enabled()
2261 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_any_sta_handshaking() local
2266 cur_if = &apsta_params->if_info[i]; in wl_ext_any_sta_handshaking()
2282 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_get_wlfc_maxcount() local
2286 if (!apsta_params->rsdb) in wl_ext_get_wlfc_maxcount()
2290 tmp_if = &apsta_params->if_info[i]; in wl_ext_get_wlfc_maxcount()
2307 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_update_wlfc_maxcount() local
2313 if (!apsta_params->rsdb) in wl_ext_update_wlfc_maxcount()
2317 tmp_if = &apsta_params->if_info[i]; in wl_ext_update_wlfc_maxcount()
2334 tmp_if = &apsta_params->if_info[i]; in wl_ext_update_wlfc_maxcount()
2358 wl_ext_get_dfs_master_if(struct wl_apsta_params *apsta_params) in wl_ext_get_dfs_master_if() argument
2365 cur_if = &apsta_params->if_info[i]; in wl_ext_get_dfs_master_if()
2378 wl_ext_save_master_channel(struct wl_apsta_params *apsta_params, in wl_ext_save_master_channel() argument
2385 if (apsta_params->vsdb) in wl_ext_save_master_channel()
2389 cur_if = &apsta_params->if_info[i]; in wl_ext_save_master_channel()
2405 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_iapsta_enable_master_if() local
2410 cur_if = &apsta_params->if_info[i]; in wl_ext_iapsta_enable_master_if()
2417 wl_ext_if_down(apsta_params, cur_if); in wl_ext_iapsta_enable_master_if()
2418 wl_ext_if_up(apsta_params, cur_if, TRUE, 0); in wl_ext_iapsta_enable_master_if()
2429 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_iapsta_restart_master() local
2432 if (apsta_params->radar) in wl_ext_iapsta_restart_master()
2435 ap_if = wl_ext_get_dfs_master_if(apsta_params); in wl_ext_iapsta_restart_master()
2438 wl_ext_if_down(apsta_params, ap_if); in wl_ext_iapsta_restart_master()
2448 wl_ext_move_cur_channel(apsta_params, ap_if); in wl_ext_iapsta_restart_master()
2449 wl_ext_if_up(apsta_params, ap_if, FALSE, 0); in wl_ext_iapsta_restart_master()
2455 wl_ext_if_reenabled(struct wl_apsta_params *apsta_params, ifmode_t ifmode, u32 channel) in wl_ext_if_reenabled() argument
2461 tmp_if = &apsta_params->if_info[i]; in wl_ext_if_reenabled()
2467 wl_ext_if_down(apsta_params, tmp_if); in wl_ext_if_reenabled()
2468 wl_ext_if_up(apsta_params, tmp_if, FALSE, 0); in wl_ext_if_reenabled()
2481 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_iapsta_update_channel() local
2488 mutex_lock(&apsta_params->usr_sync); in wl_ext_iapsta_update_channel()
2492 if (wl_ext_master_if(cur_if) && apsta_params->acs) { in wl_ext_iapsta_update_channel()
2493 chan_info->chan = wl_ext_autochannel(cur_if->dev, apsta_params->acs, in wl_ext_iapsta_update_channel()
2497 chan_info->chan = wl_ext_move_cur_channel(apsta_params, cur_if); in wl_ext_iapsta_update_channel()
2500 wl_ext_save_master_channel(apsta_params, chan_info->chan); in wl_ext_iapsta_update_channel()
2501 target_if = wl_ext_move_other_channel(apsta_params, cur_if); in wl_ext_iapsta_update_channel()
2509 wl_ext_if_reenabled(apsta_params, IAP_MODE, chan_info->chan); in wl_ext_iapsta_update_channel()
2522 mutex_unlock(&apsta_params->usr_sync); in wl_ext_iapsta_update_channel()
2555 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_iapsta_update_iftype() local
2562 cur_if = &apsta_params->if_info[ifidx]; in wl_ext_iapsta_update_iftype()
2603 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_iapsta_ifadding() local
2608 cur_if = &apsta_params->if_info[ifidx]; in wl_ext_iapsta_ifadding()
2617 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_iapsta_iftype_enabled() local
2622 cur_if = wl_ext_if_enabled(apsta_params, ifmode); in wl_ext_iapsta_iftype_enabled()
2633 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_iapsta_mesh_creating() local
2637 if (apsta_params) { in wl_ext_iapsta_mesh_creating()
2639 cur_if = &apsta_params->if_info[i]; in wl_ext_iapsta_mesh_creating()
2683 wl_ext_disc_recon_retry(struct wl_apsta_params *apsta_params, struct wl_if_info *cur_if) in wl_ext_disc_recon_retry() argument
2723 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_update_assoc_info() local
2762 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_connect_retry() local
2785 mutex_unlock(&apsta_params->in4way_sync); in wl_ext_connect_retry()
2846 if (wl_ext_disc_recon_retry(apsta_params, cur_if)) { in wl_ext_connect_retry()
2882 mutex_lock(&apsta_params->in4way_sync); in wl_ext_connect_retry()
2923 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_flush_sta_list() local
2926 list_for_each_entry_safe(node, next, &apsta_params->sta_list, list) { in wl_ext_flush_sta_list()
2939 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_del_sta_info() local
2944 list_for_each_entry_safe(node, next, &apsta_params->sta_list, list) { in wl_ext_del_sta_info()
2959 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_add_sta_info() local
2963 list_for_each_entry_safe(node, next, &apsta_params->sta_list, list) { in wl_ext_add_sta_info()
2979 list_add_tail(&leaf->list, &apsta_params->sta_list); in wl_ext_add_sta_info()
3042 struct wl_apsta_params *apsta_params, int iftype, u8 *addr) in wl_ext_interface_ops() argument
3112 wl_ext_wait_netif_change(struct wl_apsta_params *apsta_params, in wl_ext_wait_netif_change() argument
3116 wait_event_interruptible_timeout(apsta_params->netif_change_event, in wl_ext_wait_netif_change()
3123 wl_ext_interface_create(struct net_device *dev, struct wl_apsta_params *apsta_params, in wl_ext_interface_create() argument
3129 ret = wl_ext_interface_ops(dev, apsta_params, iftype, addr); in wl_ext_interface_create()
3133 wl_ext_wait_netif_change(apsta_params, cur_if); in wl_ext_interface_create()
3137 wl_ext_iapsta_intf_add(struct net_device *dev, struct wl_apsta_params *apsta_params) in wl_ext_iapsta_intf_add() argument
3140 apstamode_t apstamode = apsta_params->apstamode; in wl_ext_iapsta_intf_add()
3150 cur_if = &apsta_params->if_info[IF_VIF]; in wl_ext_iapsta_intf_add()
3151 wl_ext_interface_create(dev, apsta_params, cur_if, WL_INTERFACE_TYPE_AP, NULL); in wl_ext_iapsta_intf_add()
3156 cur_if = &apsta_params->if_info[IF_VIF]; in wl_ext_iapsta_intf_add()
3160 wl_ext_wait_netif_change(apsta_params, cur_if); in wl_ext_iapsta_intf_add()
3163 cur_if = &apsta_params->if_info[IF_VIF]; in wl_ext_iapsta_intf_add()
3166 wl_ext_interface_create(dev, apsta_params, cur_if, WL_INTERFACE_TYPE_STA, in wl_ext_iapsta_intf_add()
3170 cur_if = &apsta_params->if_info[IF_VIF]; in wl_ext_iapsta_intf_add()
3171 wl_ext_interface_create(dev, apsta_params, cur_if, WL_INTERFACE_TYPE_AP, NULL); in wl_ext_iapsta_intf_add()
3176 cur_if = &apsta_params->if_info[IF_VIF]; in wl_ext_iapsta_intf_add()
3181 wl_ext_interface_create(dev, apsta_params, cur_if, WL_INTERFACE_TYPE_AP, in wl_ext_iapsta_intf_add()
3183 cur_if = &apsta_params->if_info[IF_VIF2]; in wl_ext_iapsta_intf_add()
3188 wl_ext_interface_create(dev, apsta_params, cur_if, WL_INTERFACE_TYPE_AP, in wl_ext_iapsta_intf_add()
3193 cur_if = &apsta_params->if_info[IF_VIF]; in wl_ext_iapsta_intf_add()
3194 wl_ext_interface_create(dev, apsta_params, cur_if, WL_INTERFACE_TYPE_STA, NULL); in wl_ext_iapsta_intf_add()
3197 cur_if = &apsta_params->if_info[IF_VIF]; in wl_ext_iapsta_intf_add()
3198 wl_ext_interface_create(dev, apsta_params, cur_if, WL_INTERFACE_TYPE_AP, NULL); in wl_ext_iapsta_intf_add()
3201 cur_if = &apsta_params->if_info[IF_VIF]; in wl_ext_iapsta_intf_add()
3202 wl_ext_interface_create(dev, apsta_params, cur_if, WL_INTERFACE_TYPE_AP, NULL); in wl_ext_iapsta_intf_add()
3203 cur_if = &apsta_params->if_info[IF_VIF2]; in wl_ext_iapsta_intf_add()
3204 wl_ext_interface_create(dev, apsta_params, cur_if, WL_INTERFACE_TYPE_STA, NULL); in wl_ext_iapsta_intf_add()
3207 cur_if = &apsta_params->if_info[IF_VIF]; in wl_ext_iapsta_intf_add()
3208 wl_ext_interface_create(dev, apsta_params, cur_if, WL_INTERFACE_TYPE_AP, NULL); in wl_ext_iapsta_intf_add()
3209 cur_if = &apsta_params->if_info[IF_VIF2]; in wl_ext_iapsta_intf_add()
3210 wl_ext_interface_create(dev, apsta_params, cur_if, WL_INTERFACE_TYPE_AP, NULL); in wl_ext_iapsta_intf_add()
3220 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_update_conn_state() local
3227 cur_if = &apsta_params->if_info[ifidx]; in wl_ext_update_conn_state()
3229 spin_lock_irqsave(&apsta_params->eapol_lock, flags); in wl_ext_update_conn_state()
3235 apsta_params->if_info[ifidx].conn_state = conn_state; in wl_ext_update_conn_state()
3239 apsta_params->if_info[ifidx].conn_state = conn_state; in wl_ext_update_conn_state()
3242 spin_unlock_irqrestore(&apsta_params->eapol_lock, flags); in wl_ext_update_conn_state()
3303 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_release_eapol_txpkt() local
3308 cur_if = &apsta_params->if_info[ifidx]; in wl_ext_release_eapol_txpkt()
3309 spin_lock_irqsave(&apsta_params->eapol_lock, flags); in wl_ext_release_eapol_txpkt()
3316 spin_unlock_irqrestore(&apsta_params->eapol_lock, flags); in wl_ext_release_eapol_txpkt()
3323 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_backup_eapol_txpkt() local
3329 cur_if = &apsta_params->if_info[ifidx]; in wl_ext_backup_eapol_txpkt()
3332 spin_lock_irqsave(&apsta_params->eapol_lock, flags); in wl_ext_backup_eapol_txpkt()
3353 spin_unlock_irqrestore(&apsta_params->eapol_lock, flags); in wl_ext_backup_eapol_txpkt()
3363 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_resend_eapol_handler() local
3372 spin_lock_irqsave(&apsta_params->eapol_lock, flags); in wl_resend_eapol_handler()
3389 spin_unlock_irqrestore(&apsta_params->eapol_lock, flags); in wl_resend_eapol_handler()
3554 wl_ext_max_tput_chan(struct wl_apsta_params *apsta_params, in wl_ext_max_tput_chan() argument
3562 tmp_if = &apsta_params->if_info[i]; in wl_ext_max_tput_chan()
3586 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_scan_suppress() local
3593 if (apsta_params->tput_sum >= conf->scan_tput_thresh) { in wl_ext_scan_suppress()
3595 apsta_params->tput_sum, conf->scan_tput_thresh, in wl_ext_scan_suppress()
3596 apsta_params->scan_busy_cnt, conf->scan_busy_thresh); in wl_ext_scan_suppress()
3597 if (apsta_params->scan_busy_cnt >= conf->scan_busy_thresh) { in wl_ext_scan_suppress()
3598 apsta_params->scan_busy_cnt = 0; in wl_ext_scan_suppress()
3600 wl_ext_max_tput_chan(apsta_params, chan_info); in wl_ext_scan_suppress()
3604 apsta_params->scan_busy_cnt++; in wl_ext_scan_suppress()
3607 apsta_params->scan_busy_cnt = 0; in wl_ext_scan_suppress()
3616 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_scan_busy() local
3625 if (apsta_params->tput_sum >= conf->scan_tput_thresh) { in wl_ext_scan_busy()
3626 if (apsta_params->scan_busy_cnt) { in wl_ext_scan_busy()
3628 diff_ms = osl_do_gettimediff(&cur_ts, &apsta_params->scan_busy_ts)/1000; in wl_ext_scan_busy()
3630 apsta_params->scan_busy_cnt = 0; in wl_ext_scan_busy()
3635 if (apsta_params->scan_busy_cnt >= conf->scan_busy_thresh) { in wl_ext_scan_busy()
3636 apsta_params->scan_busy_cnt = 0; in wl_ext_scan_busy()
3640 apsta_params->tput_sum, conf->scan_tput_thresh, in wl_ext_scan_busy()
3641 apsta_params->scan_busy_cnt, conf->scan_busy_thresh); in wl_ext_scan_busy()
3642 apsta_params->scan_busy_cnt++; in wl_ext_scan_busy()
3643 if (apsta_params->scan_busy_cnt == 1) in wl_ext_scan_busy()
3644 osl_do_gettimeofday(&apsta_params->scan_busy_ts); in wl_ext_scan_busy()
3650 apsta_params->scan_busy_cnt = 0; in wl_ext_scan_busy()
3660 struct wl_apsta_params *apsta_params = (struct wl_apsta_params *)dhd->iapsta_params; in wl_ext_reset_scan_busy() local
3661 apsta_params->scan_busy_cnt = 0; in wl_ext_reset_scan_busy()
3681 wl_set_btc_in4way(struct wl_apsta_params *apsta_params, struct wl_if_info *cur_if, in wl_set_btc_in4way() argument
3689 err = wldev_iovar_getint(dev, "btc_mode", &apsta_params->sta_btc_mode); in wl_set_btc_in4way()
3690 if (!err && apsta_params->sta_btc_mode) { in wl_set_btc_in4way()
3692 status, apsta_params->sta_btc_mode); in wl_set_btc_in4way()
3696 if (apsta_params->sta_btc_mode) { in wl_set_btc_in4way()
3698 status, apsta_params->sta_btc_mode); in wl_set_btc_in4way()
3699 wldev_iovar_setint(dev, "btc_mode", apsta_params->sta_btc_mode); in wl_set_btc_in4way()
3700 apsta_params->sta_btc_mode = 0; in wl_set_btc_in4way()
3707 wl_wait_disconnect(struct wl_apsta_params *apsta_params, struct wl_if_info *cur_if, in wl_wait_disconnect() argument
3723 mutex_unlock(&apsta_params->in4way_sync); in wl_wait_disconnect()
3725 mutex_lock(&apsta_params->in4way_sync); in wl_wait_disconnect()
3736 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_iapsta_wait_event_complete() local
3741 cur_if = &apsta_params->if_info[i]; in wl_iapsta_wait_event_complete()
3752 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_iapsta_suspend_resume_ap() local
3763 wl_ext_if_down(apsta_params, cur_if); in wl_iapsta_suspend_resume_ap()
3768 wl_ext_if_up(apsta_params, cur_if, FALSE, 0); in wl_iapsta_suspend_resume_ap()
3778 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_iapsta_suspend_resume() local
3784 wl_timer_mod(dhd, &apsta_params->monitor_timer, 0); in wl_iapsta_suspend_resume()
3788 cur_if = &apsta_params->if_info[i]; in wl_iapsta_suspend_resume()
3803 wl_timer_mod(dhd, &apsta_params->monitor_timer, dhd->conf->tput_monitor_ms); in wl_iapsta_suspend_resume()
3813 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_in4way_sync_sta() local
3902 apsta_params->linkdown_reason == WLC_E_LINK_BCN_LOSS)) { in wl_ext_in4way_sync_sta()
3935 apsta_params->scan_busy_cnt = 0; in wl_ext_in4way_sync_sta()
3944 wl_set_btc_in4way(apsta_params, cur_if, status, FALSE); in wl_ext_in4way_sync_sta()
3950 wl_wait_disconnect(apsta_params, cur_if, status); in wl_ext_in4way_sync_sta()
3967 wl_set_btc_in4way(apsta_params, cur_if, status, TRUE); in wl_ext_in4way_sync_sta()
4044 apsta_params->scan_busy_cnt = 0; in wl_ext_in4way_sync_sta()
4048 apsta_params->linkdown_reason = ntoh32(e->reason); in wl_ext_in4way_sync_sta()
4056 wl_set_btc_in4way(apsta_params, cur_if, status, FALSE); in wl_ext_in4way_sync_sta()
4083 wl_set_btc_in4way(apsta_params, cur_if, status, FALSE); in wl_ext_in4way_sync_sta()
4102 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_in4way_sync_ap() local
4159 mutex_unlock(&apsta_params->in4way_sync); in wl_ext_in4way_sync_ap()
4162 mutex_lock(&apsta_params->in4way_sync); in wl_ext_in4way_sync_ap()
4215 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_in4way_sync() local
4219 mutex_lock(&apsta_params->in4way_sync); in wl_ext_in4way_sync()
4229 mutex_unlock(&apsta_params->in4way_sync); in wl_ext_in4way_sync()
4313 struct wl_apsta_params *apsta_params; in wl_ext_in4way_sync_wext() local
4319 apsta_params = dhd->iapsta_params; in wl_ext_in4way_sync_wext()
4321 mutex_lock(&apsta_params->in4way_sync); in wl_ext_in4way_sync_wext()
4331 mutex_unlock(&apsta_params->in4way_sync); in wl_ext_in4way_sync_wext()
4405 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ampdu_dump() local
4406 char *ioctl_buf = apsta_params->ioctl_buf, *buf = NULL; in wl_ampdu_dump()
4480 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_tvpm_dump() local
4483 uint8 *outbuf = apsta_params->ioctl_buf; in wl_tvpm_dump()
4563 wl_tput_dump(struct wl_apsta_params *apsta_params, in wl_tput_dump() argument
4572 apsta_params->tput_sum, (apsta_params->tput_sum_kb/100)%10, in wl_tput_dump()
4573 (apsta_params->tput_sum_kb/10)%10, (apsta_params->tput_sum_kb)%10); in wl_tput_dump()
4580 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_sta_info_dump() local
4581 void *buf = apsta_params->ioctl_buf; in wl_sta_info_dump()
4619 wl_cur_if_tput_dump(struct wl_apsta_params *apsta_params, struct wl_if_info *cur_if) in wl_cur_if_tput_dump() argument
4631 wl_tput_dump(apsta_params, cur_if->dev, &cur_if->tput_info); in wl_cur_if_tput_dump()
4655 dwds_if = &apsta_params->dwds_info[i]; in wl_cur_if_tput_dump()
4657 wl_tput_dump(apsta_params, dwds_if->dev, &dwds_if->tput_info); in wl_cur_if_tput_dump()
4711 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_tput_monitor_handler() local
4729 tmp_if = &apsta_params->if_info[i]; in wl_tput_monitor_handler()
4750 dwds_if = &apsta_params->dwds_info[i]; in wl_tput_monitor_handler()
4759 apsta_params->tput_sum = tput_sum + (tput_sum_kb/1000); in wl_tput_monitor_handler()
4760 apsta_params->tput_sum_kb = tput_sum_kb % 1000; in wl_tput_monitor_handler()
4763 tmp_if = &apsta_params->if_info[i]; in wl_tput_monitor_handler()
4764 wl_cur_if_tput_dump(apsta_params, tmp_if); in wl_tput_monitor_handler()
4772 wl_timer_mod(dhd, &apsta_params->monitor_timer, timeout); in wl_tput_monitor_handler()
4775 if (apsta_params->tput_sum >= dhd->conf->doflow_tput_thresh && dhd_doflow) { in wl_tput_monitor_handler()
4780 else if (apsta_params->tput_sum < dhd->conf->doflow_tput_thresh && !dhd_doflow) { in wl_tput_monitor_handler()
4789 wl_timer_mod(dhd, &apsta_params->monitor_timer, timeout); in wl_tput_monitor_handler()
4791 wl_timer_mod(dhd, &apsta_params->monitor_timer, 0); in wl_tput_monitor_handler()
4799 wl_timer_mod(dhd, &apsta_params->monitor_timer, timeout); in wl_tput_monitor_handler()
4804 wl_timer_mod(dhd, &apsta_params->monitor_timer, 0); in wl_tput_monitor_handler()
4808 wl_timer_mod(dhd, &apsta_params->monitor_timer, timeout); in wl_tput_monitor_handler()
4816 wl_ext_max_prio_if(struct wl_apsta_params *apsta_params, in wl_ext_max_prio_if() argument
4823 if (apsta_params->vsdb) { in wl_ext_max_prio_if()
4830 tmp_if = &apsta_params->if_info[i]; in wl_ext_max_prio_if()
4843 wl_ext_acs_scan(struct wl_apsta_params *apsta_params, struct wl_if_info *cur_if) in wl_ext_acs_scan() argument
4845 if (apsta_params->acs & ACS_DRV_BIT) { in wl_ext_acs_scan()
4862 wl_ext_acs(struct wl_apsta_params *apsta_params, struct wl_if_info *cur_if) in wl_ext_acs() argument
4866 if (apsta_params->acs & ACS_DRV_BIT) { in wl_ext_acs()
4867 mutex_lock(&apsta_params->usr_sync); in wl_ext_acs()
4875 wl_ext_move_cur_channel(apsta_params, cur_if); in wl_ext_acs()
4880 wl_ext_if_down(apsta_params, cur_if); in wl_ext_acs()
4881 wl_ext_move_other_channel(apsta_params, cur_if); in wl_ext_acs()
4882 wl_ext_if_up(apsta_params, cur_if, FALSE, 500); in wl_ext_acs()
4885 mutex_unlock(&apsta_params->usr_sync); in wl_ext_acs()
4916 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_acs_handler() local
4917 uint acs_tmo = apsta_params->acs_tmo; in wl_acs_handler()
4950 !wl_ext_max_prio_if(apsta_params, cur_if)) { in wl_acs_handler()
4951 wl_ext_acs_scan(apsta_params, cur_if); in wl_acs_handler()
4965 !wl_ext_max_prio_if(apsta_params, cur_if)) { in wl_acs_handler()
4966 wl_ext_acs(apsta_params, cur_if); in wl_acs_handler()
5022 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_restart_ap_handler() local
5030 wl_ext_if_down(apsta_params, cur_if); in wl_ext_restart_ap_handler()
5031 wl_ext_if_up(apsta_params, cur_if, FALSE, 1); in wl_ext_restart_ap_handler()
5048 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_counters_cbfn() local
5059 if (apsta_params->war_reason == ISAM_RC_AP_RESET) in wl_ext_counters_cbfn()
5063 if (apsta_params->war_reason == ISAM_RC_RXF0OVFL_REINIT) { in wl_ext_counters_cbfn()
5064 apsta_params->rxbeaconmbss = dtoh32(cnt->rxbeaconmbss); in wl_ext_counters_cbfn()
5065 apsta_params->rxf0ovfl = dtoh32(cnt->rxf0ovfl); in wl_ext_counters_cbfn()
5079 if (apsta_params->war_reason == ISAM_RC_AP_RESET) in wl_ext_counters_cbfn()
5083 if (apsta_params->war_reason == ISAM_RC_RXF0OVFL_REINIT) { in wl_ext_counters_cbfn()
5084 apsta_params->rxbeaconmbss = dtoh32(cnt->rxbeaconmbss); in wl_ext_counters_cbfn()
5085 apsta_params->rxf0ovfl = dtoh32(cnt->rxf0ovfl); in wl_ext_counters_cbfn()
5099 if (apsta_params->war_reason == ISAM_RC_AP_RESET) in wl_ext_counters_cbfn()
5103 if (apsta_params->war_reason == ISAM_RC_RXF0OVFL_REINIT) { in wl_ext_counters_cbfn()
5104 apsta_params->rxbeaconmbss = dtoh32(cnt->rxbeaconmbss); in wl_ext_counters_cbfn()
5105 apsta_params->rxf0ovfl = dtoh32(cnt->rxf0ovfl); in wl_ext_counters_cbfn()
5120 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_counters_update() local
5121 char *iovar_buf = apsta_params->ioctl_buf; in wl_ext_counters_update()
5162 apsta_params->war_reason = war_reason; in wl_ext_counters_update()
5203 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_reset_ap_handler() local
5225 wl_ext_if_down(apsta_params, cur_if); in wl_ext_reset_ap_handler()
5226 wl_ext_if_up(apsta_params, cur_if, FALSE, 500); in wl_ext_reset_ap_handler()
5264 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_rxf0ovfl_reinit_handler() local
5277 wl_timer_mod(dhd, &apsta_params->rxf0ovfl_timer, RXF0OVFL_POLLING_TIMEOUT); in wl_ext_rxf0ovfl_reinit_handler()
5285 wl_timer_mod(dhd, &apsta_params->rxf0ovfl_timer, RXF0OVFL_POLLING_TIMEOUT); in wl_ext_rxf0ovfl_reinit_handler()
5289 rxbeaconmbss = apsta_params->rxbeaconmbss; in wl_ext_rxf0ovfl_reinit_handler()
5290 rxf0ovfl = apsta_params->rxf0ovfl; in wl_ext_rxf0ovfl_reinit_handler()
5294 rxf0ovfl_diff = apsta_params->rxf0ovfl - rxf0ovfl; in wl_ext_rxf0ovfl_reinit_handler()
5295 rxbeaconmbss_diff = apsta_params->rxbeaconmbss - rxbeaconmbss; in wl_ext_rxf0ovfl_reinit_handler()
5301 if (wl_ext_if_enabled(apsta_params, ISTA_MODE)) { in wl_ext_rxf0ovfl_reinit_handler()
5305 else if (wl_ext_if_enabled(apsta_params, IAP_MODE)) { in wl_ext_rxf0ovfl_reinit_handler()
5314 wl_timer_mod(dhd, &apsta_params->rxf0ovfl_timer, RXF0OVFL_POLLING_TIMEOUT); in wl_ext_rxf0ovfl_reinit_handler()
5326 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_iapsta_link() local
5352 wake_up_interruptible(&apsta_params->netif_change_event); in wl_ext_iapsta_link()
5362 wake_up_interruptible(&apsta_params->netif_change_event); in wl_ext_iapsta_link()
5386 wake_up_interruptible(&apsta_params->netif_change_event); in wl_ext_iapsta_link()
5435 struct wl_apsta_params *apsta_params = (struct wl_apsta_params *)argu; in wl_ext_iapsta_event() local
5456 if ((apsta_params->acs & ACS_DRV_BIT) && apsta_params->acs_tmo) in wl_ext_iapsta_event()
5679 wl_ext_iapsta_preinit(struct net_device *dev, struct wl_apsta_params *apsta_params) in wl_ext_iapsta_preinit() argument
5682 apstamode_t apstamode = apsta_params->apstamode; in wl_ext_iapsta_preinit()
5691 cur_if = &apsta_params->if_info[i]; in wl_ext_iapsta_preinit()
5722 apsta_params->rsdb = -1; in wl_ext_iapsta_preinit()
5724 apsta_params->rsdb = 0; in wl_ext_iapsta_preinit()
5730 rsdb_mode_cfg.config = apsta_params->rsdb; in wl_ext_iapsta_preinit()
5738 apsta_params->rsdb = 0; in wl_ext_iapsta_preinit()
5823 apsta_params->init = TRUE; in wl_ext_iapsta_preinit()
5840 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_disable_iface() local
5841 apstamode_t apstamode = apsta_params->apstamode; in wl_ext_disable_iface()
5845 tmp_if = &apsta_params->if_info[i]; in wl_ext_disable_iface()
5856 mutex_lock(&apsta_params->usr_sync); in wl_ext_disable_iface()
5911 tmp_if = &apsta_params->if_info[i]; in wl_ext_disable_iface()
5924 mutex_unlock(&apsta_params->usr_sync); in wl_ext_disable_iface()
5940 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_enable_iface() local
5941 apstamode_t apstamode = apsta_params->apstamode; in wl_ext_enable_iface()
5948 tmp_if = &apsta_params->if_info[i]; in wl_ext_enable_iface()
5960 mutex_lock(&apsta_params->usr_sync); in wl_ext_enable_iface()
5971 wl_ext_wait_other_enabling(apsta_params, cur_if); in wl_ext_enable_iface()
5973 if (wl_ext_master_if(cur_if) && apsta_params->acs) { in wl_ext_enable_iface()
5978 cur_if->chan_info.chan = wl_ext_autochannel(cur_if->dev, apsta_params->acs, in wl_ext_enable_iface()
5988 wl_ext_move_cur_channel(apsta_params, cur_if); in wl_ext_enable_iface()
6001 wl_ext_trigger_csa(apsta_params, cur_if); in wl_ext_enable_iface()
6011 wl_ext_move_other_channel(apsta_params, cur_if); in wl_ext_enable_iface()
6135 timeout = wait_event_interruptible_timeout(apsta_params->netif_change_event, in wl_ext_enable_iface()
6140 mutex_unlock(&apsta_params->usr_sync); in wl_ext_enable_iface()
6165 mutex_unlock(&apsta_params->usr_sync); in wl_ext_enable_iface()
6225 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_isam_status() local
6245 "apstamode=%d", apsta_params->apstamode); in wl_ext_isam_status()
6247 cur_if = &apsta_params->if_info[i]; in wl_ext_isam_status()
6256 if (apsta_params->dwds_info[i].dev) { in wl_ext_isam_status()
6257 dump_written += wl_ext_isam_dev_status(apsta_params->dwds_info[i].dev, in wl_ext_isam_status()
6277 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_isam_param() local
6291 apsta_params->acs = simple_strtol(data, NULL, 0); in wl_ext_isam_param()
6294 bytes_written = snprintf(command, total_len, "%d", apsta_params->acs); in wl_ext_isam_param()
6308 if (apsta_params->acs_tmo != acs_tmo) { in wl_ext_isam_param()
6309 apsta_params->acs_tmo = acs_tmo; in wl_ext_isam_param()
6315 bytes_written = snprintf(command, total_len, "%d", apsta_params->acs_tmo); in wl_ext_isam_param()
6397 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_iapsta_config() local
6401 if (!apsta_params->init) { in wl_ext_iapsta_config()
6411 mutex_lock(&apsta_params->usr_sync); in wl_ext_iapsta_config()
6426 tmp_if = &apsta_params->if_info[i]; in wl_ext_iapsta_config()
6434 ifname, apsta_params->apstamode); in wl_ext_iapsta_config()
6450 mutex_unlock(&apsta_params->usr_sync); in wl_ext_iapsta_config()
6460 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_isam_init() local
6463 if (apsta_params->init) { in wl_ext_isam_init()
6481 apsta_params->apstamode = ISTAONLY_MODE; in wl_ext_isam_init()
6483 apsta_params->apstamode = IAPONLY_MODE; in wl_ext_isam_init()
6485 apsta_params->apstamode = ISTAAP_MODE; in wl_ext_isam_init()
6487 apsta_params->apstamode = ISTASTA_MODE; in wl_ext_isam_init()
6488 apsta_params->vsdb = TRUE; in wl_ext_isam_init()
6490 apsta_params->apstamode = IDUALAP_MODE; in wl_ext_isam_init()
6492 apsta_params->apstamode = ISTAAPAP_MODE; in wl_ext_isam_init()
6494 apsta_params->apstamode = ISTAAP_MODE; in wl_ext_isam_init()
6495 apsta_params->if_info[IF_PIF].ifmode = ISTA_MODE; in wl_ext_isam_init()
6496 apsta_params->if_info[IF_VIF].ifmode = IAP_MODE; in wl_ext_isam_init()
6498 apsta_params->apstamode = IDUALAP_MODE; in wl_ext_isam_init()
6499 apsta_params->if_info[IF_PIF].ifmode = IAP_MODE; in wl_ext_isam_init()
6500 apsta_params->if_info[IF_VIF].ifmode = IAP_MODE; in wl_ext_isam_init()
6506 apsta_params->apstamode = ISTAGO_MODE; in wl_ext_isam_init()
6507 apsta_params->if_info[IF_PIF].ifmode = ISTA_MODE; in wl_ext_isam_init()
6508 apsta_params->if_info[IF_VIF].ifmode = IAP_MODE; in wl_ext_isam_init()
6511 apsta_params->apstamode = IMESHONLY_MODE; in wl_ext_isam_init()
6513 apsta_params->apstamode = ISTAMESH_MODE; in wl_ext_isam_init()
6515 apsta_params->apstamode = ISTAAPMESH_MODE; in wl_ext_isam_init()
6517 apsta_params->apstamode = IMESHAP_MODE; in wl_ext_isam_init()
6519 apsta_params->apstamode = IMESHAPAP_MODE; in wl_ext_isam_init()
6528 apsta_params->if_info[i].ifmode = ISTA_MODE; in wl_ext_isam_init()
6530 apsta_params->if_info[i].ifmode = IAP_MODE; in wl_ext_isam_init()
6537 apsta_params->if_info[i].ifmode = IMESH_MODE; in wl_ext_isam_init()
6544 apsta_params->rsdb = (int)simple_strtol(pick_tmp2, NULL, 0); in wl_ext_isam_init()
6547 apsta_params->vsdb = TRUE; in wl_ext_isam_init()
6549 apsta_params->vsdb = FALSE; in wl_ext_isam_init()
6555 apsta_params->csa = (int)simple_strtol(pick_tmp2, NULL, 0); in wl_ext_isam_init()
6557 apsta_params->acs = (int)simple_strtol(pick_tmp2, NULL, 0); in wl_ext_isam_init()
6560 apsta_params->macs = (int)simple_strtol(pick_tmp2, NULL, 0); in wl_ext_isam_init()
6566 strcpy(apsta_params->if_info[i].ifname, pch); in wl_ext_isam_init()
6570 strcpy(apsta_params->if_info[IF_VIF].ifname, pick_tmp2); in wl_ext_isam_init()
6575 if (apsta_params->apstamode == 0) { in wl_ext_isam_init()
6580 wl_ext_iapsta_preinit(dev, apsta_params); in wl_ext_isam_init()
6582 wl_ext_iapsta_intf_add(dev, apsta_params); in wl_ext_isam_init()
6592 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_iapsta_alive_preinit() local
6594 if (apsta_params->init == TRUE) { in wl_ext_iapsta_alive_preinit()
6601 apsta_params->init = TRUE; in wl_ext_iapsta_alive_preinit()
6610 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_iapsta_alive_postinit() local
6618 apsta_params->apstamode = ISTAONLY_MODE; in wl_ext_iapsta_alive_postinit()
6619 apsta_params->if_info[IF_PIF].ifmode = ISTA_MODE; in wl_ext_iapsta_alive_postinit()
6622 apsta_params->apstamode = IAPONLY_MODE; in wl_ext_iapsta_alive_postinit()
6623 apsta_params->if_info[IF_PIF].ifmode = IAP_MODE; in wl_ext_iapsta_alive_postinit()
6628 WL_MSG(dev->name, "apstamode=%d\n", apsta_params->apstamode); in wl_ext_iapsta_alive_postinit()
6631 cur_if = &apsta_params->if_info[i]; in wl_ext_iapsta_alive_postinit()
6701 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_iapsta_postinit() local
6706 apsta_params->rsdb = wl_ext_iapsta_get_rsdb(net, dhd); in wl_ext_iapsta_postinit()
6707 apsta_params->vsdb = FALSE; in wl_ext_iapsta_postinit()
6708 apsta_params->csa = 0; in wl_ext_iapsta_postinit()
6709 apsta_params->acs = 0; in wl_ext_iapsta_postinit()
6710 apsta_params->radar = wl_ext_radar_detect(net); in wl_ext_iapsta_postinit()
6712 apsta_params->csa |= (CSA_FW_BIT | CSA_DRV_BIT); in wl_ext_iapsta_postinit()
6760 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_iapsta_attach_name() local
6765 cur_if = &apsta_params->if_info[ifidx]; in wl_ext_iapsta_attach_name()
6777 wake_up_interruptible(&apsta_params->netif_change_event); in wl_ext_iapsta_attach_name()
6788 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_iapsta_update_net_device() local
6793 cur_if = &apsta_params->if_info[ifidx]; in wl_ext_iapsta_update_net_device()
6796 primary_if = &apsta_params->if_info[IF_PIF]; in wl_ext_iapsta_update_net_device()
6803 if (apsta_params->apstamode != IUNKNOWN_MODE && in wl_ext_iapsta_update_net_device()
6804 apsta_params->apstamode != ISTAAPAP_MODE && in wl_ext_iapsta_update_net_device()
6805 apsta_params->apstamode != ISTASTA_MODE) { in wl_ext_iapsta_update_net_device()
6823 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_iapsta_attach_dwds_netdev() local
6828 cur_if = &apsta_params->if_info[ifidx]; in wl_ext_iapsta_attach_dwds_netdev()
6837 if (apsta_params->dwds_info[i].dev == NULL) { in wl_ext_iapsta_attach_dwds_netdev()
6838 apsta_params->dwds_info[i].dev = net; in wl_ext_iapsta_attach_dwds_netdev()
6839 apsta_params->dwds_info[i].ifidx = ifidx; in wl_ext_iapsta_attach_dwds_netdev()
6840 apsta_params->dwds_info[i].bssidx = bssidx; in wl_ext_iapsta_attach_dwds_netdev()
6853 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_iapsta_dettach_dwds_netdev() local
6858 cur_if = &apsta_params->if_info[ifidx]; in wl_ext_iapsta_dettach_dwds_netdev()
6867 if (apsta_params->dwds_info[i].dev == net) { in wl_ext_iapsta_dettach_dwds_netdev()
6868 memset(&apsta_params->dwds_info[i], 0, sizeof(struct wl_dwds_info)); in wl_ext_iapsta_dettach_dwds_netdev()
6881 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_iapsta_init_priv() local
6883 if (!apsta_params->ioctl_buf) { in wl_ext_iapsta_init_priv()
6884 apsta_params->ioctl_buf = kmalloc(WL_DUMP_BUF_LEN, GFP_KERNEL); in wl_ext_iapsta_init_priv()
6885 if (unlikely(!apsta_params->ioctl_buf)) { in wl_ext_iapsta_init_priv()
6889 init_waitqueue_head(&apsta_params->netif_change_event); in wl_ext_iapsta_init_priv()
6890 mutex_init(&apsta_params->usr_sync); in wl_ext_iapsta_init_priv()
6891 mutex_init(&apsta_params->in4way_sync); in wl_ext_iapsta_init_priv()
6893 INIT_LIST_HEAD(&apsta_params->sta_list); in wl_ext_iapsta_init_priv()
6896 spin_lock_init(&apsta_params->eapol_lock); in wl_ext_iapsta_init_priv()
6904 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_iapsta_deinit_priv() local
6906 if (apsta_params->ioctl_buf) { in wl_ext_iapsta_deinit_priv()
6907 kfree(apsta_params->ioctl_buf); in wl_ext_iapsta_deinit_priv()
6908 apsta_params->ioctl_buf = NULL; in wl_ext_iapsta_deinit_priv()
6910 memset(apsta_params, 0, sizeof(struct wl_apsta_params)); in wl_ext_iapsta_deinit_priv()
6917 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_iapsta_attach_netdev() local
6922 cur_if = &apsta_params->if_info[ifidx]; in wl_ext_iapsta_attach_netdev()
6929 wl_timer_register(net, &apsta_params->monitor_timer, wl_tput_monitor_timer); in wl_ext_iapsta_attach_netdev()
6932 wl_timer_register(net, &apsta_params->rxf0ovfl_timer, wl_ext_rxf0ovfl_reinit_timeout); in wl_ext_iapsta_attach_netdev()
6944 apsta_params, PRIO_EVENT_IAPSTA); in wl_ext_iapsta_attach_netdev()
6979 struct wl_apsta_params *apsta_params = dhd->iapsta_params; in wl_ext_iapsta_dettach_netdev() local
6982 if (!apsta_params) in wl_ext_iapsta_dettach_netdev()
6987 cur_if = &apsta_params->if_info[ifidx]; in wl_ext_iapsta_dettach_netdev()
7027 wl_timer_deregister(net, &apsta_params->rxf0ovfl_timer); in wl_ext_iapsta_dettach_netdev()
7030 wl_timer_deregister(net, &apsta_params->monitor_timer); in wl_ext_iapsta_dettach_netdev()