From: "Arend van Spriel" <arend@broadcom.com>
To: "Antonio Quartulli" <ordex@autistici.org>
Cc: "Johannes Berg" <johannes@sipsolutions.net>,
linux-wireless@vger.kernel.org,
"Antonio Quartulli" <antonio@open-mesh.com>,
brcm80211-dev-list@broadcom.com
Subject: Re: [PATCHv2 3/4] brcm80211: make mgmt_tx in brcmfmac accept a NULL channel
Date: Wed, 5 Jun 2013 15:53:32 +0200 [thread overview]
Message-ID: <51AF42DC.3000001@broadcom.com> (raw)
In-Reply-To: <1370433187-1337-3-git-send-email-ordex@autistici.org>
On 06/05/2013 01:53 PM, Antonio Quartulli wrote:
> From: Antonio Quartulli <antonio@open-mesh.com>
>
> cfg80211 passes a NULL channel to mgmt_tx if the frame has
> to be sent on the one currently in use by the device.
> Make the implementation of mgmt_tx correctly handle this
> case
>
> Cc: Arend van Spriel <arend@broadcom.com>
> Cc: brcm80211-dev-list@broadcom.com
> Signed-off-by: Antonio Quartulli <antonio@open-mesh.com>
> ---
> drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c | 10 ++++++++--
> 1 file changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c b/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c
> index 6d758f2..dcb0c00 100644
> --- a/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c
> +++ b/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c
> @@ -3917,6 +3917,7 @@ brcmf_cfg80211_mgmt_tx(struct wiphy *wiphy, struct wireless_dev *wdev,
> struct brcmf_fil_af_params_le *af_params;
> bool ack;
> s32 chan_nr;
> + u32 freq;
>
> brcmf_dbg(TRACE, "Enter\n");
>
> @@ -3968,8 +3969,13 @@ brcmf_cfg80211_mgmt_tx(struct wiphy *wiphy, struct wireless_dev *wdev,
> memcpy(&af_params->bssid[0], &mgmt->bssid[0], ETH_ALEN);
> /* Add the length exepted for 802.11 header */
> action_frame->len = cpu_to_le16(len - DOT11_MGMT_HDR_LEN);
> - /* Add the channel */
> - chan_nr = ieee80211_frequency_to_channel(chan->center_freq);
> + /* Add the channel. Default to the current one, but use the one
> + * specified as parameter if any
> + */
> + freq = cfg->channel;
> + if (chan)
> + freq = chan->center_freq;
> + chan_nr = ieee80211_frequency_to_channel(freq);
Could you get rid of 'freq' variable and use
ieee80211_frequency_to_channel() on cfg->channel or chan->center_freq.
Another thing is that cfg->channel can be zero resulting in chan_nr
being zero. I had a quick look whether the device firmware can handle
this. I suspect not, but I will need to ask to be sure.
Regards,
Arend
next prev parent reply other threads:[~2013-06-05 13:53 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-05 11:53 [PATCHv2 1/4] nl80211: allow sending CMD_FRAME without specifying any frequency Antonio Quartulli
2013-06-05 11:53 ` [PATCHv2 2/4] mac80211: make mgmt_tx accept a NULL channel Antonio Quartulli
2013-06-05 11:53 ` [PATCHv2 3/4] brcm80211: make mgmt_tx in brcmfmac " Antonio Quartulli
2013-06-05 13:53 ` Arend van Spriel [this message]
2013-06-05 13:57 ` Antonio Quartulli
2013-06-05 14:14 ` Arend van Spriel
2013-06-05 14:17 ` Antonio Quartulli
2013-06-05 11:53 ` [PATCHv2 4/4] ath6kl: make mgmt_tx " Antonio Quartulli
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=51AF42DC.3000001@broadcom.com \
--to=arend@broadcom.com \
--cc=antonio@open-mesh.com \
--cc=brcm80211-dev-list@broadcom.com \
--cc=johannes@sipsolutions.net \
--cc=linux-wireless@vger.kernel.org \
--cc=ordex@autistici.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 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.