提交 de3ad713 编写于 作者: V Vasanthakumar Thiagarajan 提交者: Kalle Valo

ath6kl: Move disconnect timer to vif structure

Signed-off-by: NVasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
上级 2132c69c
...@@ -479,7 +479,7 @@ static int ath6kl_cfg80211_connect(struct wiphy *wiphy, struct net_device *dev, ...@@ -479,7 +479,7 @@ static int ath6kl_cfg80211_connect(struct wiphy *wiphy, struct net_device *dev,
if ((!(ar->connect_ctrl_flags & CONNECT_DO_WPA_OFFLOAD)) && if ((!(ar->connect_ctrl_flags & CONNECT_DO_WPA_OFFLOAD)) &&
((vif->auth_mode == WPA_PSK_AUTH) ((vif->auth_mode == WPA_PSK_AUTH)
|| (vif->auth_mode == WPA2_PSK_AUTH))) { || (vif->auth_mode == WPA2_PSK_AUTH))) {
mod_timer(&ar->disconnect_timer, mod_timer(&vif->disconnect_timer,
jiffies + msecs_to_jiffies(DISCON_TIMER_INTVAL)); jiffies + msecs_to_jiffies(DISCON_TIMER_INTVAL));
} }
...@@ -897,7 +897,7 @@ static int ath6kl_cfg80211_add_key(struct wiphy *wiphy, struct net_device *ndev, ...@@ -897,7 +897,7 @@ static int ath6kl_cfg80211_add_key(struct wiphy *wiphy, struct net_device *ndev,
if (((vif->auth_mode == WPA_PSK_AUTH) if (((vif->auth_mode == WPA_PSK_AUTH)
|| (vif->auth_mode == WPA2_PSK_AUTH)) || (vif->auth_mode == WPA2_PSK_AUTH))
&& (key_usage & GROUP_USAGE)) && (key_usage & GROUP_USAGE))
del_timer(&ar->disconnect_timer); del_timer(&vif->disconnect_timer);
ath6kl_dbg(ATH6KL_DBG_WLAN_CFG, ath6kl_dbg(ATH6KL_DBG_WLAN_CFG,
"%s: index %d, key_len %d, key_type 0x%x, key_usage 0x%x, seq_len %d\n", "%s: index %d, key_len %d, key_type 0x%x, key_usage 0x%x, seq_len %d\n",
...@@ -2062,16 +2062,15 @@ int ath6kl_register_ieee80211_hw(struct ath6kl *ar) ...@@ -2062,16 +2062,15 @@ int ath6kl_register_ieee80211_hw(struct ath6kl *ar)
static int ath6kl_init_if_data(struct ath6kl_vif *vif) static int ath6kl_init_if_data(struct ath6kl_vif *vif)
{ {
struct ath6kl *ar = vif->ar;
vif->aggr_cntxt = aggr_init(vif->ndev); vif->aggr_cntxt = aggr_init(vif->ndev);
if (!vif->aggr_cntxt) { if (!vif->aggr_cntxt) {
ath6kl_err("failed to initialize aggr\n"); ath6kl_err("failed to initialize aggr\n");
return -ENOMEM; return -ENOMEM;
} }
setup_timer(&ar->disconnect_timer, disconnect_timer_handler, setup_timer(&vif->disconnect_timer, disconnect_timer_handler,
(unsigned long) vif->ndev); (unsigned long) vif->ndev);
set_bit(WMM_ENABLED, &vif->flags);
return 0; return 0;
} }
......
...@@ -416,6 +416,7 @@ struct ath6kl_vif { ...@@ -416,6 +416,7 @@ struct ath6kl_vif {
struct ath6kl_wep_key wep_key_list[WMI_MAX_KEY_INDEX + 1]; struct ath6kl_wep_key wep_key_list[WMI_MAX_KEY_INDEX + 1];
struct ath6kl_key keys[WMI_MAX_KEY_INDEX + 1]; struct ath6kl_key keys[WMI_MAX_KEY_INDEX + 1];
struct aggr_info *aggr_cntxt; struct aggr_info *aggr_cntxt;
struct timer_list disconnect_timer;
}; };
/* Flag info */ /* Flag info */
...@@ -477,7 +478,6 @@ struct ath6kl { ...@@ -477,7 +478,6 @@ struct ath6kl {
struct wmi_ap_mode_stat ap_stats; struct wmi_ap_mode_stat ap_stats;
u8 ap_country_code[3]; u8 ap_country_code[3];
struct list_head amsdu_rx_buffer_queue; struct list_head amsdu_rx_buffer_queue;
struct timer_list disconnect_timer;
u8 rx_meta_ver; u8 rx_meta_ver;
struct wireless_dev *wdev; struct wireless_dev *wdev;
struct cfg80211_scan_request *scan_req; struct cfg80211_scan_request *scan_req;
......
...@@ -445,7 +445,7 @@ void ath6kl_stop_endpoint(struct net_device *dev, bool keep_profile, ...@@ -445,7 +445,7 @@ void ath6kl_stop_endpoint(struct net_device *dev, bool keep_profile,
if (!keep_profile) if (!keep_profile)
ath6kl_init_profile_info(ar); ath6kl_init_profile_info(ar);
del_timer(&ar->disconnect_timer); del_timer(&vif->disconnect_timer);
clear_bit(WMI_READY, &ar->flag); clear_bit(WMI_READY, &ar->flag);
ath6kl_wmi_shutdown(ar->wmi); ath6kl_wmi_shutdown(ar->wmi);
...@@ -1396,7 +1396,7 @@ void ath6kl_disconnect_event(struct ath6kl *ar, u8 reason, u8 *bssid, ...@@ -1396,7 +1396,7 @@ void ath6kl_disconnect_event(struct ath6kl *ar, u8 reason, u8 *bssid,
aggr_reset_state(vif->aggr_cntxt); aggr_reset_state(vif->aggr_cntxt);
del_timer(&ar->disconnect_timer); del_timer(&vif->disconnect_timer);
ath6kl_dbg(ATH6KL_DBG_WLAN_CONNECT, ath6kl_dbg(ATH6KL_DBG_WLAN_CONNECT,
"disconnect reason is %d\n", reason); "disconnect reason is %d\n", reason);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册