linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ben Greear <greearb@candelatech.com>
To: Felix Fietkau <nbd@openwrt.org>
Cc: linux-wireless@vger.kernel.org, linville@tuxdriver.com,
	johannes@sipsolutions.net, lrodriguez@atheros.com
Subject: Re: [PATCH 1/2] ath9k: fix BSSID mask calculation
Date: Tue, 14 Sep 2010 10:59:54 -0700	[thread overview]
Message-ID: <4C8FB81A.7090007@candelatech.com> (raw)
In-Reply-To: <4C8FB621.1060608@openwrt.org>

On 09/14/2010 10:51 AM, Felix Fietkau wrote:
> On 2010-09-14 7:33 PM, Ben Greear wrote:
>> On 09/14/2010 09:37 AM, Felix Fietkau wrote:
>>> At the time the .add_interface driver op is called, the interface has not
>>> been marked as running yet, so ieee80211_iterate_active_interfaces will
>>> not pass it to the iterator function.
>>> Because of this, the calculated BSSID mask is wrong, which breaks multi-BSS
>>> operation.
>>>
>>> Additionally, the current way of comparing all addresses against each other
>>> is pointless, as the hardware only uses the hardware MAC address and the BSSID
>>> mask for matching the destination address, so all the address array
>>> reallocation is completely unnecessary.
>>>
>>> This patch simplifies the logic by setting the initial mask bytes to 0xff
>>> and removing all bits in the iterator call that don't match the hardware MAC
>>> address. It also calls the iterator for the vif that was passed to
>>> add_interface()
>>
>> You probably need to fix the mask-setting logic in
>> ath_opmode_init as well?
> What do you mean?

It seems I saw this code over-write the mask with a bad value
when debugging this a few days ago..but perhaps I was mistaken,
or perhaps your patch fixes this already.

	/* configure bssid mask */
	if (ah->caps.hw_caps & ATH9K_HW_CAP_BSSIDMASK)
		ath_hw_setbssidmask(common);

My plan was to have it call ath9k_set_bssid_mask(common->hw) instead.


Were you able to create multiple STA interfaces and have them
send/receive data with your patch?

Thanks,
Ben

-- 
Ben Greear <greearb@candelatech.com>
Candela Technologies Inc  http://www.candelatech.com

  reply	other threads:[~2010-09-14 18:00 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-14 16:37 [PATCH 1/2] ath9k: fix BSSID mask calculation Felix Fietkau
2010-09-14 16:37 ` [PATCH 2/2] mac80211: add a note about iterating interfaces during add_interface() Felix Fietkau
2010-09-14 17:33 ` [PATCH 1/2] ath9k: fix BSSID mask calculation Ben Greear
2010-09-14 17:51   ` Felix Fietkau
2010-09-14 17:59     ` Ben Greear [this message]
2010-09-14 18:06       ` Felix Fietkau
2010-09-14 19:18 ` Ben Greear

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4C8FB81A.7090007@candelatech.com \
    --to=greearb@candelatech.com \
    --cc=johannes@sipsolutions.net \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linville@tuxdriver.com \
    --cc=lrodriguez@atheros.com \
    --cc=nbd@openwrt.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).