2012-08-13 15:23:25

by Mohammed Shafi Shajakhan

[permalink] [raw]
Subject: [RFC 3/3] ath9k_htc: Remove interface combination specific checks

From: Mohammed Shafi Shajakhan <[email protected]>

Once the driver advertizes interface combination logic
based on its firmware/hardware limitation, cfg80211
takes care of all the necessary logic such as maximum
beaconing vifs, standlone interface etc.

Signed-off-by: Mohammed Shafi Shajakhan <[email protected]>
---
drivers/net/wireless/ath/ath9k/htc_drv_main.c | 20 --------------------
1 files changed, 0 insertions(+), 20 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_main.c b/drivers/net/wireless/ath/ath9k/htc_drv_main.c
index c785129..a37ae41 100644
--- a/drivers/net/wireless/ath/ath9k/htc_drv_main.c
+++ b/drivers/net/wireless/ath/ath9k/htc_drv_main.c
@@ -1038,26 +1038,6 @@ static int ath9k_htc_add_interface(struct ieee80211_hw *hw,

mutex_lock(&priv->mutex);

- if (priv->nvifs >= ATH9K_HTC_MAX_VIF) {
- mutex_unlock(&priv->mutex);
- return -ENOBUFS;
- }
-
- if (priv->num_ibss_vif ||
- (priv->nvifs && vif->type == NL80211_IFTYPE_ADHOC)) {
- ath_err(common, "IBSS coexistence with other modes is not allowed\n");
- mutex_unlock(&priv->mutex);
- return -ENOBUFS;
- }
-
- if (((vif->type == NL80211_IFTYPE_AP) ||
- (vif->type == NL80211_IFTYPE_ADHOC)) &&
- ((priv->num_ap_vif + priv->num_ibss_vif) >= ATH9K_HTC_MAX_BCN_VIF)) {
- ath_err(common, "Max. number of beaconing interfaces reached\n");
- mutex_unlock(&priv->mutex);
- return -ENOBUFS;
- }
-
ath9k_htc_ps_wakeup(priv);
memset(&hvif, 0, sizeof(struct ath9k_htc_target_vif));
memcpy(&hvif.myaddr, vif->addr, ETH_ALEN);
--
1.7.0.4



2012-08-14 05:02:55

by Mohammed Shafi Shajakhan

[permalink] [raw]
Subject: Re: [RFC 3/3] ath9k_htc: Remove interface combination specific checks

On Monday 13 August 2012 09:08 PM, Sujith Manoharan wrote:
> Mohammed Shafi Shajakhan wrote:
>> - if (priv->nvifs >= ATH9K_HTC_MAX_VIF) {
>> - mutex_unlock(&priv->mutex);
>> - return -ENOBUFS;
>> - }
>> -
>> - if (priv->num_ibss_vif ||
>> - (priv->nvifs && vif->type == NL80211_IFTYPE_ADHOC)) {
>> - ath_err(common, "IBSS coexistence with other modes is not allowed\n");
>> - mutex_unlock(&priv->mutex);
>> - return -ENOBUFS;
>> - }
>> -
>> - if (((vif->type == NL80211_IFTYPE_AP) ||
>> - (vif->type == NL80211_IFTYPE_ADHOC)) &&
>> - ((priv->num_ap_vif + priv->num_ibss_vif) >= ATH9K_HTC_MAX_BCN_VIF)) {
>> - ath_err(common, "Max. number of beaconing interfaces reached\n");
>> - mutex_unlock(&priv->mutex);
>> - return -ENOBUFS;
>> - }
>> -
>
> Looks okay.

thanks for the review!


>
> Sujith
>


--
thanks,
shafi



2012-08-13 15:42:27

by Sujith Manoharan

[permalink] [raw]
Subject: [RFC 3/3] ath9k_htc: Remove interface combination specific checks

Mohammed Shafi Shajakhan wrote:
> - if (priv->nvifs >= ATH9K_HTC_MAX_VIF) {
> - mutex_unlock(&priv->mutex);
> - return -ENOBUFS;
> - }
> -
> - if (priv->num_ibss_vif ||
> - (priv->nvifs && vif->type == NL80211_IFTYPE_ADHOC)) {
> - ath_err(common, "IBSS coexistence with other modes is not allowed\n");
> - mutex_unlock(&priv->mutex);
> - return -ENOBUFS;
> - }
> -
> - if (((vif->type == NL80211_IFTYPE_AP) ||
> - (vif->type == NL80211_IFTYPE_ADHOC)) &&
> - ((priv->num_ap_vif + priv->num_ibss_vif) >= ATH9K_HTC_MAX_BCN_VIF)) {
> - ath_err(common, "Max. number of beaconing interfaces reached\n");
> - mutex_unlock(&priv->mutex);
> - return -ENOBUFS;
> - }
> -

Looks okay.

Sujith