mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-03-14 07:40:39 -04:00
iwlwifi: mvm: starting from 22000 we have 32 Rx AMPDU sessions
Those devices have more BAIDs, which is the hardware module that tracks the BA session. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Link: https://lore.kernel.org/r/iwlwifi.20220128153014.7120a90ed7d2.I9d6d907a2c1b965d1e42ff9f0886b1df627e4761@changeid Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
This commit is contained in:
committed by
Luca Coelho
parent
97f70c56e6
commit
ded5ded3ec
@@ -264,6 +264,9 @@ struct iwl_rlc_config_cmd {
|
||||
u8 reserved[3];
|
||||
} __packed; /* RLC_CONFIG_CMD_API_S_VER_2 */
|
||||
|
||||
#define IWL_MAX_BAID_OLD 16 /* MAX_IMMEDIATE_BA_API_D_VER_2 */
|
||||
#define IWL_MAX_BAID 32 /* MAX_IMMEDIATE_BA_API_D_VER_3 */
|
||||
|
||||
/**
|
||||
* enum iwl_rx_baid_action - BAID allocation/config action
|
||||
* @IWL_RX_BAID_ACTION_ADD: add a new BAID session
|
||||
|
||||
@@ -1097,7 +1097,6 @@ struct iwl_mvm {
|
||||
} cmd_ver;
|
||||
|
||||
struct ieee80211_vif *nan_vif;
|
||||
#define IWL_MAX_BAID 32
|
||||
struct iwl_mvm_baid_data __rcu *baid_map[IWL_MAX_BAID];
|
||||
|
||||
/*
|
||||
|
||||
@@ -2465,8 +2465,6 @@ int iwl_mvm_rm_mcast_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
|
||||
return ret;
|
||||
}
|
||||
|
||||
#define IWL_MAX_RX_BA_SESSIONS 16
|
||||
|
||||
static void iwl_mvm_sync_rxq_del_ba(struct iwl_mvm *mvm, u8 baid)
|
||||
{
|
||||
struct iwl_mvm_delba_data notif = {
|
||||
@@ -2658,10 +2656,12 @@ int iwl_mvm_sta_rx_agg(struct iwl_mvm *mvm, struct ieee80211_sta *sta,
|
||||
struct iwl_mvm_sta *mvm_sta = iwl_mvm_sta_from_mac80211(sta);
|
||||
struct iwl_mvm_baid_data *baid_data = NULL;
|
||||
int ret, baid;
|
||||
u32 max_ba_id_sessions = iwl_mvm_has_new_tx_api(mvm) ? IWL_MAX_BAID :
|
||||
IWL_MAX_BAID_OLD;
|
||||
|
||||
lockdep_assert_held(&mvm->mutex);
|
||||
|
||||
if (start && mvm->rx_ba_sessions >= IWL_MAX_RX_BA_SESSIONS) {
|
||||
if (start && mvm->rx_ba_sessions >= max_ba_id_sessions) {
|
||||
IWL_WARN(mvm, "Not enough RX BA SESSIONS\n");
|
||||
return -ENOSPC;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user