Search Linux Wireless

Re: [PATCH] mac80211: Fix WMM ACM parsing and AC downgrade operation

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

 



On Sun, Mar 08, 2009 at 01:28:07PM +0100, Johannes Berg wrote:
> On Thu, 2009-03-05 at 17:23 +0200, Jouni Malinen wrote:
> 
> > @@ -99,10 +99,13 @@ static u16 classify80211(struct ieee8021
> >  	/* in case we are a client verify acm is not set for this ac */
> >  	while (unlikely(local->wmm_acm & BIT(skb->priority))) {
> >  		if (wme_downgrade_ac(skb)) {
> > -			/* The old code would drop the packet in this
> > -			 * case.
> > +			/*
> > +			 * This should not really happen. The AP has marked all
> > +			 * lower ACs to require admission control which is not
> > +			 * a reasonable configuration. Allow the frame to be
> > +			 * transmitted using AC_BK as a workaround.
> >  			 */
> > -			return 0;
> > +			break;
> 
> It seems to me that return 0 here was incorrect, or wme_downgrade_ac
> needs changes?

Yes, this return 0 was incorrect and that's why I'm fixing it to not
return 0 in this patch.. ;-) In theory, the correct behavior would be to
drop the frame if the AP is using mandatory admission control for all
ACs, but in practice, it is probably better not to break the connection
completely if the AP is misconfigured. The behavior after this patch is
to downgrade the AC until one is found without ACM and if no such AC
exists, use the lowest priority (AC_BK).

-- 
Jouni Malinen                                            PGP id EFC895FA
--
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