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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox