* [RFC 1/3] ath9k: cleanup add_iterface/change_interface
@ 2012-08-13 15:21 Mohammed Shafi Shajakhan
2012-08-13 15:34 ` Sujith Manoharan
0 siblings, 1 reply; 3+ messages in thread
From: Mohammed Shafi Shajakhan @ 2012-08-13 15:21 UTC (permalink / raw)
To: John W. Linville
Cc: linux-wireless, Rodriguez Luis, ath9k-devel,
Mohammed Shafi Shajakhan
From: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
All these checks will be handled by cfg80211 based on
the interface combination advertized. For instance
we support 8 beacon while we advertize maximum 8
beaconing interface in the interface combination
support, also cfg80211 will take care of not allowing
us to add an interface that is not supported by the
driver, so as if the change_interface changes the
old interface to a beaconing interface where we had
reached the maximum number of beacoing interface
Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
---
drivers/net/wireless/ath/ath9k/main.c | 41 +-------------------------------
1 files changed, 2 insertions(+), 39 deletions(-)
diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c
index a22df74..b0ee05a 100644
--- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c
@@ -983,35 +983,10 @@ static int ath9k_add_interface(struct ieee80211_hw *hw,
struct ath_softc *sc = hw->priv;
struct ath_hw *ah = sc->sc_ah;
struct ath_common *common = ath9k_hw_common(ah);
- int ret = 0;
ath9k_ps_wakeup(sc);
mutex_lock(&sc->mutex);
- switch (vif->type) {
- case NL80211_IFTYPE_STATION:
- case NL80211_IFTYPE_WDS:
- case NL80211_IFTYPE_ADHOC:
- case NL80211_IFTYPE_AP:
- case NL80211_IFTYPE_MESH_POINT:
- break;
- default:
- ath_err(common, "Interface type %d not yet supported\n",
- vif->type);
- ret = -EOPNOTSUPP;
- goto out;
- }
-
- if (ath9k_uses_beacons(vif->type)) {
- if (sc->nbcnvifs >= ATH_BCBUF) {
- ath_err(common, "Not enough beacon buffers when adding"
- " new interface of type: %i\n",
- vif->type);
- ret = -ENOBUFS;
- goto out;
- }
- }
-
ath_dbg(common, CONFIG, "Attach a VIF of type: %d\n", vif->type);
sc->nvifs++;
@@ -1020,10 +995,9 @@ static int ath9k_add_interface(struct ieee80211_hw *hw,
if (ath9k_uses_beacons(vif->type))
ath9k_beacon_assign_slot(sc, vif);
-out:
mutex_unlock(&sc->mutex);
ath9k_ps_restore(sc);
- return ret;
+ return 0;
}
static int ath9k_change_interface(struct ieee80211_hw *hw,
@@ -1033,22 +1007,12 @@ static int ath9k_change_interface(struct ieee80211_hw *hw,
{
struct ath_softc *sc = hw->priv;
struct ath_common *common = ath9k_hw_common(sc->sc_ah);
- int ret = 0;
ath_dbg(common, CONFIG, "Change Interface\n");
mutex_lock(&sc->mutex);
ath9k_ps_wakeup(sc);
- if (ath9k_uses_beacons(new_type) &&
- !ath9k_uses_beacons(vif->type)) {
- if (sc->nbcnvifs >= ATH_BCBUF) {
- ath_err(common, "No beacon slot available\n");
- ret = -ENOBUFS;
- goto out;
- }
- }
-
if (ath9k_uses_beacons(vif->type))
ath9k_beacon_remove_slot(sc, vif);
@@ -1059,10 +1023,9 @@ static int ath9k_change_interface(struct ieee80211_hw *hw,
if (ath9k_uses_beacons(vif->type))
ath9k_beacon_assign_slot(sc, vif);
-out:
ath9k_ps_restore(sc);
mutex_unlock(&sc->mutex);
- return ret;
+ return 0;
}
static void ath9k_remove_interface(struct ieee80211_hw *hw,
--
1.7.0.4
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [RFC 1/3] ath9k: cleanup add_iterface/change_interface
2012-08-13 15:21 [RFC 1/3] ath9k: cleanup add_iterface/change_interface Mohammed Shafi Shajakhan
@ 2012-08-13 15:34 ` Sujith Manoharan
2012-08-14 4:56 ` Mohammed Shafi Shajakhan
0 siblings, 1 reply; 3+ messages in thread
From: Sujith Manoharan @ 2012-08-13 15:34 UTC (permalink / raw)
To: Mohammed Shafi Shajakhan
Cc: John W. Linville, linux-wireless, Rodriguez Luis, ath9k-devel
Mohammed Shafi Shajakhan wrote:
> From: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
>
> All these checks will be handled by cfg80211 based on
> the interface combination advertized. For instance
> we support 8 beacon while we advertize maximum 8
> beaconing interface in the interface combination
> support, also cfg80211 will take care of not allowing
> us to add an interface that is not supported by the
> driver, so as if the change_interface changes the
> old interface to a beaconing interface where we had
> reached the maximum number of beacoing interface
This looks good.
Sujith
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [RFC 1/3] ath9k: cleanup add_iterface/change_interface
2012-08-13 15:34 ` Sujith Manoharan
@ 2012-08-14 4:56 ` Mohammed Shafi Shajakhan
0 siblings, 0 replies; 3+ messages in thread
From: Mohammed Shafi Shajakhan @ 2012-08-14 4:56 UTC (permalink / raw)
To: Sujith Manoharan
Cc: John W. Linville, linux-wireless, Rodriguez Luis, ath9k-devel
Hi Sujith,
On Monday 13 August 2012 09:04 PM, Sujith Manoharan wrote:
> Mohammed Shafi Shajakhan wrote:
>> From: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
>>
>> All these checks will be handled by cfg80211 based on
>> the interface combination advertized. For instance
>> we support 8 beacon while we advertize maximum 8
>> beaconing interface in the interface combination
>> support, also cfg80211 will take care of not allowing
>> us to add an interface that is not supported by the
>> driver, so as if the change_interface changes the
>> old interface to a beaconing interface where we had
>> reached the maximum number of beacoing interface
>
> This looks good.
thanks for the review!
>
> Sujith
>
--
thanks,
shafi
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2012-08-14 4:56 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-13 15:21 [RFC 1/3] ath9k: cleanup add_iterface/change_interface Mohammed Shafi Shajakhan
2012-08-13 15:34 ` Sujith Manoharan
2012-08-14 4:56 ` Mohammed Shafi Shajakhan
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).