You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openwrt/package/acx-mac80211/patches/001-if_init_conf_removal.patch

92 lines
2.8 KiB
Diff

--- a/acx_func.h
+++ b/acx_func.h
@@ -704,9 +704,9 @@ int acx_setup_modes(acx_device_t *adev);
void acx_free_modes(acx_device_t *adev);
int acx_i_op_tx(struct ieee80211_hw *ieee, struct sk_buff *skb);
int acx_e_op_add_interface(struct ieee80211_hw* ieee,
- struct ieee80211_if_init_conf *conf);
+ struct ieee80211_vif *vif);
void acx_e_op_remove_interface(struct ieee80211_hw* ieee,
- struct ieee80211_if_init_conf *conf);
+ struct ieee80211_vif *vif);
int acx_net_reset(struct ieee80211_hw *ieee);
int acx_e_op_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
struct ieee80211_vif *vif, struct ieee80211_sta *sta,
--- a/common.c
+++ b/common.c
@@ -4402,7 +4402,7 @@ static void acx_s_select_opmode(acx_devi
}
int acx_e_op_add_interface(struct ieee80211_hw *ieee,
- struct ieee80211_if_init_conf *conf)
+ struct ieee80211_vif *vif)
{
acx_device_t *adev = ieee2adev(ieee);
unsigned long flags;
@@ -4414,14 +4414,14 @@ int acx_e_op_add_interface(struct ieee80
acx_sem_lock(adev);
acx_lock(adev, flags);
- if (conf->type == NL80211_IFTYPE_MONITOR) {
+ if (vif->type == NL80211_IFTYPE_MONITOR) {
adev->interface.monitor++;
} else {
if (adev->interface.operating)
goto out_unlock;
adev->interface.operating = 1;
- adev->interface.mac_addr = conf->mac_addr;
- adev->interface.type = conf->type;
+ adev->interface.mac_addr = vif->addr;
+ adev->interface.type = vif->type;
}
// adev->mode = conf->type;
@@ -4436,8 +4436,8 @@ int acx_e_op_add_interface(struct ieee80
printk(KERN_INFO "acx: Virtual interface added "
"(type: 0x%08X, MAC: %s)\n",
- conf->type,
- acx_print_mac(mac, conf->mac_addr));
+ vif->type,
+ acx_print_mac(mac, vif->addr));
out_unlock:
acx_unlock(adev, flags);
@@ -4448,7 +4448,7 @@ int acx_e_op_add_interface(struct ieee80
}
void acx_e_op_remove_interface(struct ieee80211_hw *hw,
- struct ieee80211_if_init_conf *conf)
+ struct ieee80211_vif *vif)
{
acx_device_t *adev = ieee2adev(hw);
@@ -4457,23 +4457,23 @@ void acx_e_op_remove_interface(struct ie
FN_ENTER;
acx_sem_lock(adev);
- if (conf->type == NL80211_IFTYPE_MONITOR) {
+ if (vif->type == NL80211_IFTYPE_MONITOR) {
adev->interface.monitor--;
// assert(bcm->interface.monitor >= 0);
} else {
adev->interface.operating = 0;
}
- log(L_DEBUG, "acx: %s: interface.operating=%d, conf->type=%d\n",
+ log(L_DEBUG, "acx: %s: interface.operating=%d, vif->type=%d\n",
__func__,
- adev->interface.operating, conf->type);
+ adev->interface.operating, vif->type);
if (adev->initialized)
acx_s_select_opmode(adev);
log(L_ANY, "acx: Virtual interface removed: "
"type=%d, MAC=%s\n",
- conf->type, acx_print_mac(mac, conf->mac_addr));
+ vif->type, acx_print_mac(mac, vif->addr));
acx_sem_unlock(adev);