Root/package/acx-mac80211/patches/001-if_init_conf_removal.patch

1--- a/acx_func.h
2+++ b/acx_func.h
3@@ -704,9 +704,9 @@ int acx_setup_modes(acx_device_t *adev);
4 void acx_free_modes(acx_device_t *adev);
5 int acx_i_op_tx(struct ieee80211_hw *ieee, struct sk_buff *skb);
6 int acx_e_op_add_interface(struct ieee80211_hw* ieee,
7- struct ieee80211_if_init_conf *conf);
8+ struct ieee80211_vif *vif);
9 void acx_e_op_remove_interface(struct ieee80211_hw* ieee,
10- struct ieee80211_if_init_conf *conf);
11+ struct ieee80211_vif *vif);
12 int acx_net_reset(struct ieee80211_hw *ieee);
13 int acx_e_op_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
14         struct ieee80211_vif *vif, struct ieee80211_sta *sta,
15--- a/common.c
16+++ b/common.c
17@@ -4402,7 +4402,7 @@ static void acx_s_select_opmode(acx_devi
18 }
19 
20 int acx_e_op_add_interface(struct ieee80211_hw *ieee,
21- struct ieee80211_if_init_conf *conf)
22+ struct ieee80211_vif *vif)
23 {
24     acx_device_t *adev = ieee2adev(ieee);
25     unsigned long flags;
26@@ -4414,14 +4414,14 @@ int acx_e_op_add_interface(struct ieee80
27     acx_sem_lock(adev);
28     acx_lock(adev, flags);
29 
30- if (conf->type == NL80211_IFTYPE_MONITOR) {
31+ if (vif->type == NL80211_IFTYPE_MONITOR) {
32         adev->interface.monitor++;
33     } else {
34         if (adev->interface.operating)
35             goto out_unlock;
36         adev->interface.operating = 1;
37- adev->interface.mac_addr = conf->mac_addr;
38- adev->interface.type = conf->type;
39+ adev->interface.mac_addr = vif->addr;
40+ adev->interface.type = vif->type;
41     }
42 // adev->mode = conf->type;
43 
44@@ -4436,8 +4436,8 @@ int acx_e_op_add_interface(struct ieee80
45 
46     printk(KERN_INFO "acx: Virtual interface added "
47            "(type: 0x%08X, MAC: %s)\n",
48- conf->type,
49- acx_print_mac(mac, conf->mac_addr));
50+ vif->type,
51+ acx_print_mac(mac, vif->addr));
52 
53     out_unlock:
54     acx_unlock(adev, flags);
55@@ -4448,7 +4448,7 @@ int acx_e_op_add_interface(struct ieee80
56 }
57 
58 void acx_e_op_remove_interface(struct ieee80211_hw *hw,
59- struct ieee80211_if_init_conf *conf)
60+ struct ieee80211_vif *vif)
61 {
62     acx_device_t *adev = ieee2adev(hw);
63 
64@@ -4457,23 +4457,23 @@ void acx_e_op_remove_interface(struct ie
65     FN_ENTER;
66     acx_sem_lock(adev);
67 
68- if (conf->type == NL80211_IFTYPE_MONITOR) {
69+ if (vif->type == NL80211_IFTYPE_MONITOR) {
70         adev->interface.monitor--;
71 // assert(bcm->interface.monitor >= 0);
72     } else {
73         adev->interface.operating = 0;
74     }
75 
76- log(L_DEBUG, "acx: %s: interface.operating=%d, conf->type=%d\n",
77+ log(L_DEBUG, "acx: %s: interface.operating=%d, vif->type=%d\n",
78             __func__,
79- adev->interface.operating, conf->type);
80+ adev->interface.operating, vif->type);
81 
82     if (adev->initialized)
83         acx_s_select_opmode(adev);
84 
85     log(L_ANY, "acx: Virtual interface removed: "
86            "type=%d, MAC=%s\n",
87- conf->type, acx_print_mac(mac, conf->mac_addr));
88+ vif->type, acx_print_mac(mac, vif->addr));
89 
90     acx_sem_unlock(adev);
91 
92

Archive Download this file



interactive