Index: acx-mac80211-20100302/acx_func.h =================================================================== --- acx-mac80211-20100302.orig/acx_func.h 2010-03-06 12:57:25.000000000 +0100 +++ acx-mac80211-20100302/acx_func.h 2010-03-06 12:58:10.000000000 +0100 @@ -704,9 +704,9 @@ 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, Index: acx-mac80211-20100302/common.c =================================================================== --- acx-mac80211-20100302.orig/common.c 2010-03-06 12:57:31.000000000 +0100 +++ acx-mac80211-20100302/common.c 2010-03-06 12:59:51.000000000 +0100 @@ -4402,7 +4402,7 @@ } 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 @@ 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 @@ 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 @@ } 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 @@ 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);