Maxim Levitsky wrote:

> This is very simple. Ath5k and many other drivers just don't support
> several VAPs.
> 
> The only exception is monitor + anything else, because this is supported
> transparently by mac8012.
> 
> For code see:
> 
> 
> 
> static int ath5k_add_interface(struct ieee80211_hw *hw,
>               struct ieee80211_if_init_conf *conf)
> {
>       struct ath5k_softc *sc = hw->priv;
>       int ret;
> 
>       mutex_lock(&sc->lock);
>       if (sc->vif) {          <<<<<<<<<
>               ret = 0;
>               goto end;
>       }
> 
>       sc->vif = conf->vif;
> }

Thanks for the reply Maxim. From the code snippet I can see that your 
answer is fairly definitive...

> This function is called each time an interface is brought up, but ath5k
> and many others will just bring up first one and save its structure in
> sc->vif, others are just ignored.
> 
> It isn't trivial to fix, as we need to make driver virtual interace
> aware.

Is it really difficult to fix or just tedious? I would have thought it's 
just a case of breaking out the parameters for each particular vif and 
putting them into a struct that can be passed the driver. Or am I 
missing something else?


ATB,

Mark.

-- 
Mark Cave-Ayland - Senior Technical Architect
PostgreSQL - PostGIS
Sirius Corporation plc - control through freedom
http://www.siriusit.co.uk
t: +44 870 608 0063
_______________________________________________
ath5k-devel mailing list
ath5k-devel@lists.ath5k.org
https://lists.ath5k.org/mailman/listinfo/ath5k-devel

Reply via email to