Search Linux Wireless

Re: [PATCH v2 01/16] wcn36xx: Add main.c

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 2013-08-23 at 10:58 +0200, Eugene Krasnikov wrote:

> +static const struct ieee80211_iface_limit if_limits[] = {
> +	{ .max = 2, .types = BIT(NL80211_IFTYPE_STATION) },
> +	{ .max = 1, .types = BIT(NL80211_IFTYPE_AP) },
> +};
> +
> +static const struct ieee80211_iface_combination if_comb = {
> +	.limits = if_limits,
> +	.n_limits = ARRAY_SIZE(if_limits),
> +	.max_interfaces = 2,
> +	.num_different_channels = 1,
> +};

> +static int wcn36xx_add_interface(struct ieee80211_hw *hw,
> +				 struct ieee80211_vif *vif)
> +{
> +	struct wcn36xx *wcn = hw->priv;
> +
> +	wcn36xx_dbg(WCN36XX_DBG_MAC, "mac add interface vif %p type %d\n",
> +		    vif, vif->type);
> +
> +	wcn->current_vif = (struct wcn36xx_vif *)vif->drv_priv;

If you actually support two interfaces (and that looks more likely now)
I don't think this "current_vif" makes any sense at all, it'll be
randomly pointing to one or the other depending on which one was added
last.

> +static int wcn36xx_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
> +			   struct ieee80211_sta *sta)
> +{
> +	struct wcn36xx *wcn = hw->priv;
> +
> +	wcn36xx_dbg(WCN36XX_DBG_MAC, "mac sta add vif %p sta %pM\n",
> +		    vif, sta->addr);
> +
> +	wcn->sta = (struct wcn36xx_sta *)sta->drv_priv;
> +	wcn->aid = sta->aid;

You support more than one interface and AP, but there's no way this code
can then be correct. It seems to me that you're really only supporting a
single client interface correctly right now.

johannes

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux