All of lore.kernel.org
 help / color / mirror / Atom feed
From: Felix Fietkau <nbd@openwrt.org>
To: Rajkumar Manoharan <rmanoharan@atheros.com>
Cc: "Björn Smedman" <bjorn.smedman@venatech.se>,
	"linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>
Subject: Re: [RFC] ath9k: Handle interface changes properly
Date: Thu, 13 Jan 2011 17:49:38 +0100	[thread overview]
Message-ID: <4D2F2D22.6070301@openwrt.org> (raw)
In-Reply-To: <20110113163513.GA9291@vmraj-lnx.users.atheros.com>

On 2011-01-13 5:35 PM, Rajkumar Manoharan wrote:
> On Thu, Jan 13, 2011 at 07:53:27PM +0530, Felix Fietkau wrote:
>>  On 2011-01-13 6:18 AM, Rajkumar Manoharan wrote:
>>  >  On Thu, Jan 13, 2011 at 01:21:47AM +0530, Felix Fietkau wrote:
>>  >>   On 2011-01-12 10:06 AM, Björn Smedman wrote:
>>  >>   >   On Wed, Jan 12, 2011 at 3:30 PM, Rajkumar Manoharan
>>  >>   >   <rmanoharan@atheros.com>    wrote:
>>  >>   >>    The commit ""ath9k: Add change_interface callback" was failed
>>  >>   >>    to update of hw opmode, ani and interrupt mask. This leads
>>  >>   >>    to break p2p functionality on ath9k. And the existing add and
>>  >>   >>    remove interface functions are not handling hw opmode and
>>  >>   >>    ANI properly.
>>  >>   >>
>>  >>   >>    This patch combines the common code in interface callbacks
>>  >>   >>    and also takes care of multi-vif cases.
>>  >>   >
>>  >>   >   How does your patch handle the race condition between the interface
>>  >>   >   change done in process context and the beacon tasklet triggered by
>>  >>   >   SWBA?
>>  >>   >
>>  >>   >   Also, perhaps more applicable to the commit log than the patch, how
>>  >>   >   can opmode be properly handled in multi-vif cases? I mean let's say I
>>  >>   >   have two AP vifs and then change one into STA, is the opmode then STA?
>>  >>   >   Compare that to the case where I have two STA vifs and change one into
>>  >>   >   AP; so again I have one AP and one STA vif but this time opmode is AP,
>>  >>   >   right? I can see how I can be wrong about these examples but I can't
>>  >>   >   really see how the opmode concept can be properly handled in multi-vif
>>  >>   >   cases.
>>  >>   I think opmode should be handled as follows:
>>  >>   If there is at least one AP interface, opmode should be AP, regardless
>>  >>   of what the other interfaces are set to.
>>  >>   If there is no AP vif, opmode can be set to the primary vif type.
>>  >>
>>  >  Correct. this RFC patch does the same.
>>  Really? I don't see that being handled properly, it still seems to
>>  overwrite ah->opmode based on a single vif type for some types.
>>  Also, there is no reason to have a WDS opmode in ath9k_hw. WDS is
>>  typically used along with AP mode interfaces, and where it is not, the
>>  AP opmode should be used for ath9k_hw anyway.
> Instead of setting opmde as AP for WDS, it is better to handle WDS
> case in ath9k_hw.
Why? Right now I don't even see any NL80211_IFTYPE_WDS handling in 
ath9k_hw, and I can't think of anything that should be handled 
differently in ath9k_hw compared to the AP opmode.

>>  Maybe it would be a good idea to clean this up and first limit the
>>  number of different types that we pass to ath9k_hw (i.e. only AP, ADHOC,
>>  STA). Later we can make a separate enum for that to avoid passing the
>>  type as-is entirely.
> Just to stick with the currently supported interfaces list, WDS also included.
>>  I think the mesh point opmode has no place in ath9k_hw. Right now it is
>>  treated like ad-hoc, but I think that's completely wrong. Mesh should
>>  behave just like AP mode, as no ad-hoc style TSF synchronization should
>>  be done by the hardware, and 802.11s mesh nodes do not compete for
>>  beacon transmission.
> This is a different issue and it has to be addressed in separate patch.
I agree.

- Felix

  reply	other threads:[~2011-01-13 16:49 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-12 14:30 [RFC] ath9k: Handle interface changes properly Rajkumar Manoharan
2011-01-12 17:06 ` Björn Smedman
2011-01-12 17:22   ` Sujith
2011-01-12 19:00     ` Björn Smedman
2011-01-13  1:56       ` Sujith
2011-01-13  5:16       ` Rajkumar Manoharan
2011-01-13  5:10     ` Rajkumar Manoharan
2011-01-12 19:51   ` Felix Fietkau
2011-01-12 20:14     ` Ben Greear
2011-01-13  5:18     ` Rajkumar Manoharan
2011-01-13 14:23       ` Felix Fietkau
2011-01-13 16:35         ` Rajkumar Manoharan
2011-01-13 16:49           ` Felix Fietkau [this message]
2011-01-14 18:13             ` Rajkumar Manoharan
2011-01-14 18:22               ` Felix Fietkau
2011-01-14 18:53                 ` Rajkumar Manoharan
2011-01-14 19:06                   ` Felix Fietkau
2011-01-14 19:24                     ` Rajkumar Manoharan
2011-01-14 19:29                       ` Ben Greear
2011-01-14 19:34                         ` Felix Fietkau
2011-01-14 23:02                     ` Björn Smedman
2011-01-13  5:08   ` Rajkumar Manoharan

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=4D2F2D22.6070301@openwrt.org \
    --to=nbd@openwrt.org \
    --cc=bjorn.smedman@venatech.se \
    --cc=linux-wireless@vger.kernel.org \
    --cc=rmanoharan@atheros.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.