mwl8k_vif
static inline struct mwl8k_vif *mwl8k_find_vif_bss(struct list_head *vif_list,
struct mwl8k_vif *mwl8k_vif;
list_for_each_entry(mwl8k_vif,
if (memcmp(bssid, mwl8k_vif->bssid,
return mwl8k_vif;
struct mwl8k_vif *mwl8k_vif = NULL;
mwl8k_vif = mwl8k_find_vif_bss(&priv->vif_list,
if (mwl8k_vif != NULL &&
mwl8k_vif->is_hw_crypto_enabled) {
struct mwl8k_vif *mwl8k_vif;
mwl8k_vif = MWL8K_VIF(tx_info->control.vif);
wh->seq_ctrl |= cpu_to_le16(mwl8k_vif->seqno);
mwl8k_vif->seqno += 0x10;
#define MWL8K_VIF(_vif) ((struct mwl8k_vif *)&((_vif)->drv_priv))
struct mwl8k_vif *mwl8k_vif = MWL8K_VIF(vif);
if (mwl8k_vif->macid + 1 == ffs(priv->sta_macids_supported))
if (mwl8k_vif->macid + 1 == ffs(priv->ap_macids_supported))
struct mwl8k_vif *mwl8k_vif = MWL8K_VIF(vif);
if (enable && (priv->running_bsses & (1 << mwl8k_vif->macid)))
if (!enable && !(priv->running_bsses & (1 << mwl8k_vif->macid)))
priv->running_bsses |= (1 << mwl8k_vif->macid);
priv->running_bsses &= ~(1 << mwl8k_vif->macid);
struct mwl8k_vif *mwl8k_vif, *tmp_vif;
list_for_each_entry_safe(mwl8k_vif, tmp_vif, &priv->vif_list, list) {
vif = mwl8k_vif->vif;
if (!(bitmap & (1 << mwl8k_vif->macid)))
struct mwl8k_vif *mwl8k_vif = MWL8K_VIF(vif);
if (!mwl8k_vif->wep_key_conf[idx].enabled) {
memcpy(mwl8k_vif->wep_key_conf[idx].key, key,
mwl8k_vif->wep_key_conf[idx].enabled = 1;
struct mwl8k_vif *mwl8k_vif = MWL8K_VIF(vif);
mwl8k_vif->wep_key_conf[key->keyidx].enabled = 0;
struct mwl8k_vif *mwl8k_vif = MWL8K_VIF(vif);
mwl8k_vif->is_hw_crypto_enabled = true;
struct mwl8k_vif *mwl8k_vif;
mwl8k_vif = MWL8K_VIF(vif);
memset(mwl8k_vif, 0, sizeof(*mwl8k_vif));
mwl8k_vif->vif = vif;
mwl8k_vif->macid = macid;
mwl8k_vif->seqno = 0;
memcpy(mwl8k_vif->bssid, vif->addr, ETH_ALEN);
mwl8k_vif->is_hw_crypto_enabled = false;
priv->macids_used |= 1 << mwl8k_vif->macid;
list_add_tail(&mwl8k_vif->list, &priv->vif_list);
static void mwl8k_remove_vif(struct mwl8k_priv *priv, struct mwl8k_vif *vif)
struct mwl8k_vif *mwl8k_vif = MWL8K_VIF(vif);
mwl8k_remove_vif(priv, mwl8k_vif);
static struct mwl8k_vif *mwl8k_first_vif(struct mwl8k_priv *priv)
return list_entry(priv->vif_list.next, struct mwl8k_vif, list);
struct mwl8k_vif *mwl8k_vif;
mwl8k_vif = mwl8k_first_vif(priv);
if (mwl8k_vif != NULL)
bssid = mwl8k_vif->vif->bss_conf.bssid;
struct mwl8k_vif *mwl8k_vif = MWL8K_VIF(vif);
key = IEEE80211_KEY_CONF(mwl8k_vif->wep_key_conf[i].key);
if (mwl8k_vif->wep_key_conf[i].enabled)
struct mwl8k_vif *vif, *tmp_vif;
hw->vif_data_size = sizeof(struct mwl8k_vif);