struct list_head list;
struct ieee80211_vif *vif;
+ /* Firmware macid for this vif. */
+ int macid;
+
/* Non AMPDU sequence number assigned by driver. */
u16 seqno;
};
struct mwl8k_cmd_pkt {
__le16 code;
__le16 length;
- __le16 seq_num;
+ __u8 seq_num;
+ __u8 macid;
__le16 result;
char payload[0];
} __attribute__((packed));
cmd->code = cpu_to_le16(MWL8K_CMD_CODE_DNLD);
cmd->seq_num = 0;
+ cmd->macid = 0;
cmd->result = 0;
done = 0;
return rc;
}
+static int mwl8k_post_pervif_cmd(struct ieee80211_hw *hw,
+ struct ieee80211_vif *vif,
+ struct mwl8k_cmd_pkt *cmd)
+{
+ if (vif != NULL)
+ cmd->macid = MWL8K_VIF(vif)->macid;
+ return mwl8k_post_cmd(hw, cmd);
+}
+
/*
* Setup code shared between STA and AP firmware images.
*/
mwl8k_vif = MWL8K_VIF(vif);
memset(mwl8k_vif, 0, sizeof(*mwl8k_vif));
mwl8k_vif->vif = vif;
+ mwl8k_vif->macid = 0;
mwl8k_vif->seqno = 0;
list_add_tail(&mwl8k_vif->list, &priv->vif_list);