{
struct ath6kl *ar = vif->ar;
- ar->aggr_cntxt = aggr_init(vif->ndev);
- if (!ar->aggr_cntxt) {
+ vif->aggr_cntxt = aggr_init(vif->ndev);
+ if (!vif->aggr_cntxt) {
ath6kl_err("failed to initialize aggr\n");
return -ENOMEM;
}
void ath6kl_deinit_if_data(struct ath6kl_vif *vif)
{
- struct ath6kl *ar = vif->ar;
-
- aggr_module_destroy(ar->aggr_cntxt);
+ aggr_module_destroy(vif->aggr_cntxt);
- ar->aggr_cntxt = NULL;
+ vif->aggr_cntxt = NULL;
if (test_bit(NETDEV_REGISTERED, &vif->flags)) {
unregister_netdev(vif->ndev);
u16 bss_ch;
struct ath6kl_wep_key wep_key_list[WMI_MAX_KEY_INDEX + 1];
struct ath6kl_key keys[WMI_MAX_KEY_INDEX + 1];
+ struct aggr_info *aggr_cntxt;
};
/* Flag info */
struct sk_buff_head mcastpsq;
spinlock_t mcastpsq_lock;
u8 intra_bss;
- struct aggr_info *aggr_cntxt;
struct wmi_ap_mode_stat ap_stats;
u8 ap_country_code[3];
struct list_head amsdu_rx_buffer_queue;
netif_carrier_on(ar->net_dev);
spin_unlock_bh(&ar->lock);
- aggr_reset_state(ar->aggr_cntxt);
+ aggr_reset_state(vif->aggr_cntxt);
ar->reconnect_flag = 0;
if ((vif->nw_type == ADHOC_NETWORK) && ar->ibss_ps_enable) {
assoc_resp_len, assoc_info,
prot_reason_status);
- aggr_reset_state(ar->aggr_cntxt);
+ aggr_reset_state(vif->aggr_cntxt);
del_timer(&ar->disconnect_timer);
datap = (struct ethhdr *) skb->data;
if (is_unicast_ether_addr(datap->h_dest) &&
- aggr_process_recv_frm(ar->aggr_cntxt, tid, seq_no,
+ aggr_process_recv_frm(vif->aggr_cntxt, tid, seq_no,
is_amsdu, skb))
/* aggregation code will handle the skb */
return;
void aggr_recv_addba_req_evt(struct ath6kl *ar, u8 tid, u16 seq_no, u8 win_sz)
{
- struct aggr_info *p_aggr = ar->aggr_cntxt;
+ /* TODO: Findout vif */
+ struct ath6kl_vif *vif = ar->vif;
+ struct aggr_info *p_aggr = vif->aggr_cntxt;
struct rxtid *rxtid;
struct rxtid_stats *stats;
u16 hold_q_size;
void aggr_recv_delba_req_evt(struct ath6kl *ar, u8 tid)
{
- struct aggr_info *p_aggr = ar->aggr_cntxt;
+ /* TODO: Findout vif */
+ struct ath6kl_vif *vif = ar->vif;
+ struct aggr_info *p_aggr = vif->aggr_cntxt;
struct rxtid *rxtid;
if (!p_aggr)