|
@@ -98,23 +98,21 @@ int iwl_mvm_sta_send_to_fw(struct iwl_mvm *mvm, struct ieee80211_sta *sta,
|
|
bool update)
|
|
bool update)
|
|
{
|
|
{
|
|
struct iwl_mvm_sta *mvm_sta = (void *)sta->drv_priv;
|
|
struct iwl_mvm_sta *mvm_sta = (void *)sta->drv_priv;
|
|
- struct iwl_mvm_add_sta_cmd add_sta_cmd;
|
|
|
|
|
|
+ struct iwl_mvm_add_sta_cmd add_sta_cmd = {
|
|
|
|
+ .sta_id = mvm_sta->sta_id,
|
|
|
|
+ .mac_id_n_color = cpu_to_le32(mvm_sta->mac_id_n_color),
|
|
|
|
+ .add_modify = update ? 1 : 0,
|
|
|
|
+ .station_flags_msk = cpu_to_le32(STA_FLG_FAT_EN_MSK |
|
|
|
|
+ STA_FLG_MIMO_EN_MSK),
|
|
|
|
+ };
|
|
int ret;
|
|
int ret;
|
|
u32 status;
|
|
u32 status;
|
|
u32 agg_size = 0, mpdu_dens = 0;
|
|
u32 agg_size = 0, mpdu_dens = 0;
|
|
|
|
|
|
- memset(&add_sta_cmd, 0, sizeof(add_sta_cmd));
|
|
|
|
-
|
|
|
|
- add_sta_cmd.sta_id = mvm_sta->sta_id;
|
|
|
|
- add_sta_cmd.mac_id_n_color = cpu_to_le32(mvm_sta->mac_id_n_color);
|
|
|
|
if (!update) {
|
|
if (!update) {
|
|
add_sta_cmd.tfd_queue_msk = cpu_to_le32(mvm_sta->tfd_queue_msk);
|
|
add_sta_cmd.tfd_queue_msk = cpu_to_le32(mvm_sta->tfd_queue_msk);
|
|
memcpy(&add_sta_cmd.addr, sta->addr, ETH_ALEN);
|
|
memcpy(&add_sta_cmd.addr, sta->addr, ETH_ALEN);
|
|
}
|
|
}
|
|
- add_sta_cmd.add_modify = update ? 1 : 0;
|
|
|
|
-
|
|
|
|
- add_sta_cmd.station_flags_msk |= cpu_to_le32(STA_FLG_FAT_EN_MSK |
|
|
|
|
- STA_FLG_MIMO_EN_MSK);
|
|
|
|
|
|
|
|
switch (sta->bandwidth) {
|
|
switch (sta->bandwidth) {
|
|
case IEEE80211_STA_RX_BW_160:
|
|
case IEEE80211_STA_RX_BW_160:
|