On Fri, 2011-10-28 at 22:05 -0700, Thomas Pedersen wrote:
> There was an an implicit assumption that any QoS data frame received
> from a STA/TID with an active BA session was sent to this vif as part of
> a BA.  This is not true if IFF_PROMISC is enabled and the frame was
> destined for a different peer, for example. Don't treat these frames as
> part of a BA from the sending STA.
> 
> Signed-off-by: Thomas Pedersen <[email protected]>
> ---
>  net/mac80211/rx.c |    4 ++++
>  1 files changed, 4 insertions(+), 0 deletions(-)
> 
> diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
> index ee9e71b..ad39216 100644
> --- a/net/mac80211/rx.c
> +++ b/net/mac80211/rx.c
> @@ -776,6 +776,10 @@ static void ieee80211_rx_reorder_ampdu(struct 
> ieee80211_rx_data *rx)
>             (ack_policy == IEEE80211_QOS_CTL_ACK_POLICY_NORMAL)))
>               goto dont_reorder;
>  
> +     /* not actually part of this BA session */
> +     if (compare_ether_addr(hdr->addr1, rx->sdata->vif.addr) != 0)
> +             goto dont_reorder;

Huh that seems strange. Shouldn't that rather check
IEEE80211_RX_RA_MATCH?

johannes

_______________________________________________
Devel mailing list
[email protected]
http://open80211s.com/mailman/listinfo/devel

Reply via email to