Lines Matching refs:cfg
103 wl_bad_ap_mngr_update(struct bcm_cfg80211 *cfg, wl_bad_ap_info_t *bad_ap_info) in wl_bad_ap_mngr_update() argument
108 if (list_empty(&cfg->bad_ap_mngr.list)) { in wl_bad_ap_mngr_update()
112 WL_CFG_BAM_LOCK(&cfg->bad_ap_mngr.lock, flags); in wl_bad_ap_mngr_update()
114 list_sort(NULL, &cfg->bad_ap_mngr.list, wl_bad_ap_mngr_timecmp); in wl_bad_ap_mngr_update()
121 entry = list_first_entry(&cfg->bad_ap_mngr.list, wl_bad_ap_info_entry_t, list); in wl_bad_ap_mngr_update()
128 WL_CFG_BAM_UNLOCK(&cfg->bad_ap_mngr.lock, flags); in wl_bad_ap_mngr_update()
147 wl_bad_ap_mngr_fparse(struct bcm_cfg80211 *cfg, struct file *fp) in wl_bad_ap_mngr_fparse() argument
157 buf = MALLOCZ(cfg->osh, WL_BAD_AP_MAX_BUF_SIZE); in wl_bad_ap_mngr_fparse()
191 ret = wl_bad_ap_mngr_add(&cfg->bad_ap_mngr, &bad_ap); in wl_bad_ap_mngr_fparse()
204 if (cfg->bad_ap_mngr.num >= WL_BAD_AP_MAX_ENTRY_NUM) { in wl_bad_ap_mngr_fparse()
216 MFREE(cfg->osh, buf, WL_BAD_AP_MAX_BUF_SIZE); in wl_bad_ap_mngr_fparse()
223 wl_bad_ap_mngr_fread(struct bcm_cfg80211 *cfg, const char *fname) in wl_bad_ap_mngr_fread() argument
234 mutex_lock(&cfg->bad_ap_mngr.fs_lock); in wl_bad_ap_mngr_fread()
246 if ((ret = wl_bad_ap_mngr_fparse(cfg, fp)) < 0) { in wl_bad_ap_mngr_fread()
255 mutex_unlock(&cfg->bad_ap_mngr.fs_lock); in wl_bad_ap_mngr_fread()
261 wl_bad_ap_mngr_fwrite(struct bcm_cfg80211 *cfg, const char *fname) in wl_bad_ap_mngr_fwrite() argument
273 if (list_empty(&cfg->bad_ap_mngr.list)) { in wl_bad_ap_mngr_fwrite()
281 mutex_lock(&cfg->bad_ap_mngr.fs_lock); in wl_bad_ap_mngr_fwrite()
299 list_for_each_entry(entry, &cfg->bad_ap_mngr.list, list) { in wl_bad_ap_mngr_fwrite()
330 mutex_unlock(&cfg->bad_ap_mngr.fs_lock); in wl_bad_ap_mngr_fwrite()
402 wl_bad_ap_mngr_deinit(struct bcm_cfg80211 *cfg) in wl_bad_ap_mngr_deinit() argument
411 WL_CFG_BAM_LOCK(&cfg->bad_ap_mngr.lock, flags); in wl_bad_ap_mngr_deinit()
412 while (!list_empty(&cfg->bad_ap_mngr.list)) { in wl_bad_ap_mngr_deinit()
413 entry = list_entry(cfg->bad_ap_mngr.list.next, wl_bad_ap_info_entry_t, list); in wl_bad_ap_mngr_deinit()
415 list_del(&cfg->bad_ap_mngr.list); in wl_bad_ap_mngr_deinit()
416 MFREE(cfg->osh, entry, sizeof(*entry)); in wl_bad_ap_mngr_deinit()
419 WL_CFG_BAM_UNLOCK(&cfg->bad_ap_mngr.lock, flags); in wl_bad_ap_mngr_deinit()
424 mutex_destroy(&cfg->bad_ap_mngr.fs_lock); in wl_bad_ap_mngr_deinit()
429 wl_bad_ap_mngr_init(struct bcm_cfg80211 *cfg) in wl_bad_ap_mngr_init() argument
431 cfg->bad_ap_mngr.osh = cfg->osh; in wl_bad_ap_mngr_init()
432 cfg->bad_ap_mngr.num = 0; in wl_bad_ap_mngr_init()
434 spin_lock_init(&cfg->bad_ap_mngr.lock); in wl_bad_ap_mngr_init()
435 INIT_LIST_HEAD(&cfg->bad_ap_mngr.list); in wl_bad_ap_mngr_init()
438 mutex_init(&cfg->bad_ap_mngr.fs_lock); in wl_bad_ap_mngr_init()
440 g_bad_ap_mngr = &cfg->bad_ap_mngr; in wl_bad_ap_mngr_init()
445 wl_event_adps_bad_ap_mngr(struct bcm_cfg80211 *cfg, void *data) in wl_event_adps_bad_ap_mngr() argument
472 if (list_empty(&cfg->bad_ap_mngr.list)) { in wl_event_adps_bad_ap_mngr()
473 wl_bad_ap_mngr_fread(cfg, WL_BAD_AP_INFO_FILE_PATH); in wl_event_adps_bad_ap_mngr()
477 entry = wl_bad_ap_mngr_find(&cfg->bad_ap_mngr, &bad_ap_data->ea); in wl_event_adps_bad_ap_mngr()
491 if (cfg->bad_ap_mngr.num < WL_BAD_AP_MAX_ENTRY_NUM) { in wl_event_adps_bad_ap_mngr()
492 wl_bad_ap_mngr_add(&cfg->bad_ap_mngr, &temp); in wl_event_adps_bad_ap_mngr()
495 wl_bad_ap_mngr_update(cfg, &temp); in wl_event_adps_bad_ap_mngr()
499 wl_bad_ap_mngr_fwrite(cfg, WL_BAD_AP_INFO_FILE_PATH); in wl_event_adps_bad_ap_mngr()
502 ret = wl_bad_ap_mngr_add(&cfg->bad_ap_mngr, &temp); in wl_event_adps_bad_ap_mngr()
547 wl_adps_enabled(struct bcm_cfg80211 *cfg, struct net_device *ndev) in wl_adps_enabled() argument
564 wl_adps_set_suspend(struct bcm_cfg80211 *cfg, struct net_device *ndev, uint8 suspend) in wl_adps_set_suspend() argument
573 iov_buf = MALLOCZ(cfg->osh, buf_len); in wl_adps_set_suspend()
591 cfg->ioctl_buf, WLC_IOCTL_SMLEN, NULL); in wl_adps_set_suspend()
606 MFREE(cfg->osh, iov_buf, buf_len); in wl_adps_set_suspend()
612 wl_adps_bad_ap_check(struct bcm_cfg80211 *cfg, const struct ether_addr *bssid) in wl_adps_bad_ap_check() argument
616 if (list_empty(&cfg->bad_ap_mngr.list)) { in wl_adps_bad_ap_check()
617 wl_bad_ap_mngr_fread(cfg, WL_BAD_AP_INFO_FILE_PATH); in wl_adps_bad_ap_check()
621 if (wl_bad_ap_mngr_find(&cfg->bad_ap_mngr, bssid) != NULL) in wl_adps_bad_ap_check()
628 wl_adps_event_handler(struct bcm_cfg80211 *cfg, bcm_struct_cfgdev *cfgdev, in wl_adps_event_handler() argument
636 ret = wl_event_adps_bad_ap_mngr(cfg, data); in wl_adps_event_handler()