Search Linux Wireless

Re: [PATCH wireless-2.6] iwlagn: fix "Received BA when not expected"

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

 



On Thu, 2011-04-28 at 13:10 +0200, Stanislaw Gruszka wrote:
> Need to use broadcast sta_id for management and multicast frames,
> otherwise we broke BA session and get messages like that:
> 
> "Received BA when not expected"
> 
> or (on older kernels):
> 
> "BA scd_flow 0 does not match txq_id 10"

Hmm. Interesting. I believe you, but it's hard.

> -	/* Find index into station table for destination station */
> -	sta_id = iwl_sta_id_or_broadcast(priv, ctx, info->control.sta);

info->control.sta should be NULL here, at least for multicast frames
(which never really happen in practise unless you use AP mode). And then
this should return ctx->bcast_sta_id, just like you use below:

> +	/* If this frame is broadcast or management, use broadcast station id */
> +	if (!ieee80211_is_data(fc) || is_multicast_ether_addr(hdr->addr1))
> +		sta_id = ctx->bcast_sta_id;

So the reason has to be management frames. But why would those be
affecting it? They aren't QoS frames, so there should be no influence on
BA handling at all. This is a bit odd.

Maybe we should make it clear here that it's about non-data frames and
remove the multicast check since that ought to be handled in the other
path?

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 Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux