From: Marek Puzyniak <marek.puzyniak@tieto.com> To: linux-wireless@vger.kernel.org, ath10k@lists.infradead.org Cc: Marek Puzyniak <marek.puzyniak@tieto.com> Subject: [PATCH v4 4/6] ath10k: update station counting Date: Fri, 20 Mar 2015 12:02:57 +0100 [thread overview] Message-ID: <1426849379-7562-5-git-send-email-marek.puzyniak@tieto.com> (raw) In-Reply-To: <1426849379-7562-1-git-send-email-marek.puzyniak@tieto.com> Currently station counting functions (inc_num_stations/dec_num_stations) does not handle tdls type of stations. Tdls station should be counted because it consumes peer in firmware. Only not tdls stations are excluded from this counting. Signed-off-by: Marek Puzyniak <marek.puzyniak@tieto.com> --- drivers/net/wireless/ath/ath10k/mac.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c index 866c948..3c25507 100644 --- a/drivers/net/wireless/ath/ath10k/mac.c +++ b/drivers/net/wireless/ath/ath10k/mac.c @@ -4386,14 +4386,14 @@ static void ath10k_sta_rc_update_wk(struct work_struct *wk) mutex_unlock(&ar->conf_mutex); } -static int ath10k_mac_inc_num_stations(struct ath10k_vif *arvif) +static int ath10k_mac_inc_num_stations(struct ath10k_vif *arvif, + struct ieee80211_sta *sta) { struct ath10k *ar = arvif->ar; lockdep_assert_held(&ar->conf_mutex); - if (arvif->vdev_type != WMI_VDEV_TYPE_AP && - arvif->vdev_type != WMI_VDEV_TYPE_IBSS) + if (arvif->vdev_type == WMI_VDEV_TYPE_STA && !sta->tdls) return 0; if (ar->num_stations >= ar->max_num_stations) @@ -4404,14 +4404,14 @@ static int ath10k_mac_inc_num_stations(struct ath10k_vif *arvif) return 0; } -static void ath10k_mac_dec_num_stations(struct ath10k_vif *arvif) +static void ath10k_mac_dec_num_stations(struct ath10k_vif *arvif, + struct ieee80211_sta *sta) { struct ath10k *ar = arvif->ar; lockdep_assert_held(&ar->conf_mutex); - if (arvif->vdev_type != WMI_VDEV_TYPE_AP && - arvif->vdev_type != WMI_VDEV_TYPE_IBSS) + if (arvif->vdev_type == WMI_VDEV_TYPE_STA && !sta->tdls) return; ar->num_stations--; @@ -4453,7 +4453,7 @@ static int ath10k_sta_state(struct ieee80211_hw *hw, ar->num_stations + 1, ar->max_num_stations, ar->num_peers + 1, ar->max_num_peers); - ret = ath10k_mac_inc_num_stations(arvif); + ret = ath10k_mac_inc_num_stations(arvif, sta); if (ret) { ath10k_warn(ar, "refusing to associate station: too many connected already (%d)\n", ar->max_num_stations); @@ -4465,7 +4465,7 @@ static int ath10k_sta_state(struct ieee80211_hw *hw, if (ret) { ath10k_warn(ar, "failed to add peer %pM for vdev %d when adding a new sta: %i\n", sta->addr, arvif->vdev_id, ret); - ath10k_mac_dec_num_stations(arvif); + ath10k_mac_dec_num_stations(arvif, sta); goto exit; } @@ -4478,7 +4478,7 @@ static int ath10k_sta_state(struct ieee80211_hw *hw, arvif->vdev_id, ret); WARN_ON(ath10k_peer_delete(ar, arvif->vdev_id, sta->addr)); - ath10k_mac_dec_num_stations(arvif); + ath10k_mac_dec_num_stations(arvif, sta); goto exit; } @@ -4509,7 +4509,7 @@ static int ath10k_sta_state(struct ieee80211_hw *hw, ath10k_warn(ar, "failed to delete peer %pM for vdev %d: %i\n", sta->addr, arvif->vdev_id, ret); - ath10k_mac_dec_num_stations(arvif); + ath10k_mac_dec_num_stations(arvif, sta); } else if (old_state == IEEE80211_STA_AUTH && new_state == IEEE80211_STA_ASSOC && (vif->type == NL80211_IFTYPE_AP || -- 2.1.4
WARNING: multiple messages have this Message-ID (diff)
From: Marek Puzyniak <marek.puzyniak@tieto.com> To: linux-wireless@vger.kernel.org, ath10k@lists.infradead.org Cc: Marek Puzyniak <marek.puzyniak@tieto.com> Subject: [PATCH v4 4/6] ath10k: update station counting Date: Fri, 20 Mar 2015 12:02:57 +0100 [thread overview] Message-ID: <1426849379-7562-5-git-send-email-marek.puzyniak@tieto.com> (raw) In-Reply-To: <1426849379-7562-1-git-send-email-marek.puzyniak@tieto.com> Currently station counting functions (inc_num_stations/dec_num_stations) does not handle tdls type of stations. Tdls station should be counted because it consumes peer in firmware. Only not tdls stations are excluded from this counting. Signed-off-by: Marek Puzyniak <marek.puzyniak@tieto.com> --- drivers/net/wireless/ath/ath10k/mac.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c index 866c948..3c25507 100644 --- a/drivers/net/wireless/ath/ath10k/mac.c +++ b/drivers/net/wireless/ath/ath10k/mac.c @@ -4386,14 +4386,14 @@ static void ath10k_sta_rc_update_wk(struct work_struct *wk) mutex_unlock(&ar->conf_mutex); } -static int ath10k_mac_inc_num_stations(struct ath10k_vif *arvif) +static int ath10k_mac_inc_num_stations(struct ath10k_vif *arvif, + struct ieee80211_sta *sta) { struct ath10k *ar = arvif->ar; lockdep_assert_held(&ar->conf_mutex); - if (arvif->vdev_type != WMI_VDEV_TYPE_AP && - arvif->vdev_type != WMI_VDEV_TYPE_IBSS) + if (arvif->vdev_type == WMI_VDEV_TYPE_STA && !sta->tdls) return 0; if (ar->num_stations >= ar->max_num_stations) @@ -4404,14 +4404,14 @@ static int ath10k_mac_inc_num_stations(struct ath10k_vif *arvif) return 0; } -static void ath10k_mac_dec_num_stations(struct ath10k_vif *arvif) +static void ath10k_mac_dec_num_stations(struct ath10k_vif *arvif, + struct ieee80211_sta *sta) { struct ath10k *ar = arvif->ar; lockdep_assert_held(&ar->conf_mutex); - if (arvif->vdev_type != WMI_VDEV_TYPE_AP && - arvif->vdev_type != WMI_VDEV_TYPE_IBSS) + if (arvif->vdev_type == WMI_VDEV_TYPE_STA && !sta->tdls) return; ar->num_stations--; @@ -4453,7 +4453,7 @@ static int ath10k_sta_state(struct ieee80211_hw *hw, ar->num_stations + 1, ar->max_num_stations, ar->num_peers + 1, ar->max_num_peers); - ret = ath10k_mac_inc_num_stations(arvif); + ret = ath10k_mac_inc_num_stations(arvif, sta); if (ret) { ath10k_warn(ar, "refusing to associate station: too many connected already (%d)\n", ar->max_num_stations); @@ -4465,7 +4465,7 @@ static int ath10k_sta_state(struct ieee80211_hw *hw, if (ret) { ath10k_warn(ar, "failed to add peer %pM for vdev %d when adding a new sta: %i\n", sta->addr, arvif->vdev_id, ret); - ath10k_mac_dec_num_stations(arvif); + ath10k_mac_dec_num_stations(arvif, sta); goto exit; } @@ -4478,7 +4478,7 @@ static int ath10k_sta_state(struct ieee80211_hw *hw, arvif->vdev_id, ret); WARN_ON(ath10k_peer_delete(ar, arvif->vdev_id, sta->addr)); - ath10k_mac_dec_num_stations(arvif); + ath10k_mac_dec_num_stations(arvif, sta); goto exit; } @@ -4509,7 +4509,7 @@ static int ath10k_sta_state(struct ieee80211_hw *hw, ath10k_warn(ar, "failed to delete peer %pM for vdev %d: %i\n", sta->addr, arvif->vdev_id, ret); - ath10k_mac_dec_num_stations(arvif); + ath10k_mac_dec_num_stations(arvif, sta); } else if (old_state == IEEE80211_STA_AUTH && new_state == IEEE80211_STA_ASSOC && (vif->type == NL80211_IFTYPE_AP || -- 2.1.4 _______________________________________________ ath10k mailing list ath10k@lists.infradead.org http://lists.infradead.org/mailman/listinfo/ath10k
next prev parent reply other threads:[~2015-03-20 11:00 UTC|newest] Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top 2015-03-20 11:02 [PATCH v4 0/6] ath10k: add basic tdls support Marek Puzyniak 2015-03-20 11:02 ` Marek Puzyniak 2015-03-20 11:02 ` [PATCH v4 1/6] ath10k: unify tx mode and dispatch Marek Puzyniak 2015-03-20 11:02 ` Marek Puzyniak 2015-03-26 9:27 ` Michal Kazior 2015-03-26 9:27 ` Michal Kazior 2015-03-26 10:03 ` Michal Kazior 2015-03-26 10:03 ` Michal Kazior 2015-03-27 12:41 ` Kalle Valo 2015-03-27 12:41 ` Kalle Valo 2015-03-20 11:02 ` [PATCH v4 2/6] ath10k: make peer type configurable Marek Puzyniak 2015-03-20 11:02 ` Marek Puzyniak 2015-03-20 11:02 ` [PATCH v4 3/6] ath10k: store max tdls vdevs that fw can handle Marek Puzyniak 2015-03-20 11:02 ` Marek Puzyniak 2015-03-20 11:02 ` Marek Puzyniak [this message] 2015-03-20 11:02 ` [PATCH v4 4/6] ath10k: update station counting Marek Puzyniak 2015-03-20 11:02 ` [PATCH v4 5/6] ath10k: add wmi support for tdls Marek Puzyniak 2015-03-20 11:02 ` Marek Puzyniak 2015-03-22 7:49 ` Arik Nemtsov 2015-03-22 7:49 ` Arik Nemtsov 2015-03-23 8:09 ` Michal Kazior 2015-03-23 8:09 ` Michal Kazior 2015-03-23 8:59 ` Marek Puzyniak 2015-03-23 8:59 ` Marek Puzyniak 2015-03-23 9:46 ` Arik Nemtsov 2015-03-23 9:46 ` Arik Nemtsov 2015-03-23 15:53 ` Kalle Valo 2015-03-23 15:53 ` Kalle Valo 2015-03-24 7:33 ` Marek Puzyniak 2015-03-24 7:33 ` Marek Puzyniak 2015-03-24 8:50 ` Kalle Valo 2015-03-24 8:50 ` Kalle Valo 2015-03-20 11:02 ` [PATCH v4 6/6] ath10k: introduce basic tdls functionality Marek Puzyniak 2015-03-20 11:02 ` Marek Puzyniak 2015-03-27 14:33 ` Marek Puzyniak 2015-03-27 14:33 ` Marek Puzyniak 2015-03-27 17:43 ` Kalle Valo 2015-03-27 17:43 ` Kalle Valo 2015-03-30 12:06 ` [PATCH v4 0/6] ath10k: add basic tdls support Kalle Valo 2015-03-30 12:06 ` Kalle Valo
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1426849379-7562-5-git-send-email-marek.puzyniak@tieto.com \ --to=marek.puzyniak@tieto.com \ --cc=ath10k@lists.infradead.org \ --cc=linux-wireless@vger.kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.