From: Johannes Berg <johannes@sipsolutions.net>
To: Victor Goldenshtein <victorg@ti.com>
Cc: linux-wireless@vger.kernel.org, kgiori@qca.qualcomm.com,
mcgrof@frijolero.org, zefir.kurtisi@neratec.com,
adrian.chadd@gmail.com, j@w1.fi, coelho@ti.com, assaf@ti.com,
yoni.divinsky@ti.com, igalc@ti.com, adrian@freebsd.org,
nbd@nbd.name
Subject: Re: [RFC 6/9] mac80211: add ap channel switch command/event
Date: Mon, 30 Jan 2012 21:51:06 -0800 [thread overview]
Message-ID: <4F27814A.9060906@sipsolutions.net> (raw)
In-Reply-To: <1327581484-22047-7-git-send-email-victorg@ti.com>
On 1/26/2012 4:38 AM, Victor Goldenshtein wrote:
> New ieee80211_ap_process_chanswitch(), to handle a channel switch
> request for AP/GO.
>
> New 'post_switch_block_tx' parameter in 'ieee80211_channel_switch'
> structure, which indicates whether transmission must be blocked after
> the scheduled channel switch, it should be set if the target channel
> is DFS channel.
>
> New ieee80211_ap_ch_switch_complete_notify() which notifies upper
> layers about channel switch complete event.
Shouldn't mac80211 have some non-offload implementation for this?
> @@ -841,12 +841,16 @@ struct ieee80211_conf {
> * the driver passed into mac80211.
> * @block_tx: Indicates whether transmission must be blocked before the
> * scheduled channel switch, as indicated by the AP.
> + * @post_switch_block_tx: Indicates whether transmission must be blocked after
> + * the scheduled channel switch, this should be set if the target channel
> + * is DFS channel.
Hmmm. This channel switch stuff here was really intended for client-side
channel switching initially ... and it should quite possibly be a
different mechanism?
> +static int ieee80211_ap_process_chanswitch(struct wiphy *wiphy,
> + struct net_device *dev,
> + u32 count, bool block_tx,
> + bool post_switch_block_tx,
> + u32 new_freq)
> +{
> + struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
> + struct ieee80211_local *local = sdata->local;
> + struct ieee80211_channel *new_ch;
> + struct ieee80211_channel_switch ch_switch;
> +
> + new_ch = ieee80211_get_channel(sdata->local->hw.wiphy, new_freq);
> + if (!new_ch || new_ch->flags& IEEE80211_CHAN_DISABLED) {
> + wiphy_debug(local->hw.wiphy,
> + "failed channel switch on freq: %d\n", new_freq);
> + return -EINVAL;
> + }
That code should obviously be in cfg80211.
> @@ -2793,4 +2826,5 @@ struct cfg80211_ops mac80211_config_ops = {
> .set_noack_map = ieee80211_set_noack_map,
> .dfs_start_radar_detection = ieee80211_dfs_start_radar_detection,
> .dfs_en_tx = ieee80211_dfs_en_tx,
> + .ap_channel_switch = ieee80211_ap_process_chanswitch,
why deviate from the ieee80211_ + callback_name scheme?
johannes
next prev parent reply other threads:[~2012-01-31 5:51 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-26 12:37 [RFC 0/9] nl/cfg/mac80211: add DFS master ability Victor Goldenshtein
2012-01-26 12:37 ` [RFC 1/9] nl80211/cfg80211: add radar detection command/event Victor Goldenshtein
2012-01-31 5:39 ` Johannes Berg
2012-02-02 16:06 ` Goldenshtein, Victor
2012-02-09 22:02 ` Luis R. Rodriguez
2012-02-15 16:45 ` Goldenshtein, Victor
2012-01-26 12:37 ` [RFC 2/9] mac80211: " Victor Goldenshtein
2012-01-31 5:42 ` Johannes Berg
2012-02-02 16:06 ` Goldenshtein, Victor
2012-01-26 12:37 ` [RFC 3/9] nl80211/cfg80211: add ability to enable TX on op-channel Victor Goldenshtein
2012-01-31 5:43 ` Johannes Berg
2012-02-02 16:06 ` Goldenshtein, Victor
[not found] ` <4F2B18AA.90809@neratec.com>
2012-02-06 11:16 ` zefir.kurtisi
2012-02-06 13:01 ` Goldenshtein, Victor
2012-02-06 14:48 ` Zefir Kurtisi
2012-02-06 15:34 ` Goldenshtein, Victor
2012-02-06 21:01 ` Johannes Berg
2012-02-09 21:04 ` Goldenshtein, Victor
2012-02-09 22:34 ` Luis R. Rodriguez
2012-02-15 16:45 ` Goldenshtein, Victor
2012-03-15 9:37 ` Goldenshtein, Victor
2012-03-15 21:04 ` Coelho, Luciano
2012-01-26 12:37 ` [RFC 4/9] mac80211: " Victor Goldenshtein
2012-01-31 5:45 ` Johannes Berg
2012-02-02 16:06 ` Goldenshtein, Victor
2012-02-09 22:36 ` Luis R. Rodriguez
2012-02-15 16:45 ` Goldenshtein, Victor
2012-01-26 12:38 ` [RFC 5/9] nl80211/cfg80211: add ap channel switch command/event Victor Goldenshtein
2012-01-31 5:46 ` Johannes Berg
2012-02-02 16:07 ` Goldenshtein, Victor
2012-02-09 22:53 ` Luis R. Rodriguez
2012-02-15 16:46 ` Goldenshtein, Victor
2012-01-26 12:38 ` [RFC 6/9] mac80211: " Victor Goldenshtein
2012-01-31 5:51 ` Johannes Berg [this message]
2012-02-02 16:07 ` Goldenshtein, Victor
2012-02-06 21:03 ` Johannes Berg
2012-02-09 20:02 ` Goldenshtein, Victor
2012-02-09 23:04 ` Luis R. Rodriguez
2012-02-15 16:46 ` Goldenshtein, Victor
2012-02-09 23:06 ` Luis R. Rodriguez
2012-02-15 16:46 ` Goldenshtein, Victor
2012-01-26 12:38 ` [RFC 7/9] nl80211/cfg80211: add DFS feature flag Victor Goldenshtein
2012-01-31 5:52 ` Johannes Berg
2012-02-02 16:08 ` Goldenshtein, Victor
2012-02-09 23:11 ` Luis R. Rodriguez
2012-02-13 10:28 ` Johannes Berg
2012-02-15 17:01 ` Goldenshtein, Victor
2012-02-15 16:46 ` Goldenshtein, Victor
2012-01-26 12:38 ` [RFC 8/9] mac80211: add DFS capabilities flag Victor Goldenshtein
2012-01-31 5:52 ` Johannes Berg
2012-02-02 16:08 ` Goldenshtein, Victor
2012-01-26 12:38 ` [RFC 9/9] mac80211: add DFS support to monitor interface Victor Goldenshtein
2012-01-26 14:10 ` Christian Lamparter
2012-01-26 15:50 ` Goldenshtein, Victor
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=4F27814A.9060906@sipsolutions.net \
--to=johannes@sipsolutions.net \
--cc=adrian.chadd@gmail.com \
--cc=adrian@freebsd.org \
--cc=assaf@ti.com \
--cc=coelho@ti.com \
--cc=igalc@ti.com \
--cc=j@w1.fi \
--cc=kgiori@qca.qualcomm.com \
--cc=linux-wireless@vger.kernel.org \
--cc=mcgrof@frijolero.org \
--cc=nbd@nbd.name \
--cc=victorg@ti.com \
--cc=yoni.divinsky@ti.com \
--cc=zefir.kurtisi@neratec.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.