Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1382180
| From | Bjorn Andersson <bjorn.andersson@linaro.org> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH v3 01/18] wcn36xx: Clean up wcn36xx_smd_send_beacon |
| Date | 2016-04-19 07:10 +0200 |
| Message-ID | <rpw5d-1sU-35@gated-at.bofh.it> (permalink) |
| References | <rpw5b-1sU-3@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
From: Pontus Fuchs <pontus.fuchs@gmail.com>
Needed for coming improvements. No functional changes.
Signed-off-by: Pontus Fuchs <pontus.fuchs@gmail.com>
[bjorn: restored BEACON_TEMPLATE_SIZE define to 0x180]
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
---
Changes since v2:
- Subtract sizeof(beacon_length) instead of modifying BEACON_TEMPLATE_SIZE,
which is used in other places as well.
drivers/net/wireless/ath/wcn36xx/hal.h | 5 ++++-
drivers/net/wireless/ath/wcn36xx/smd.c | 12 +++++-------
2 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/drivers/net/wireless/ath/wcn36xx/hal.h b/drivers/net/wireless/ath/wcn36xx/hal.h
index b947de0fb2e5..d713204f755d 100644
--- a/drivers/net/wireless/ath/wcn36xx/hal.h
+++ b/drivers/net/wireless/ath/wcn36xx/hal.h
@@ -2884,11 +2884,14 @@ struct update_beacon_rsp_msg {
struct wcn36xx_hal_send_beacon_req_msg {
struct wcn36xx_hal_msg_header header;
+ /* length of the template + 6. Only qcom knows why */
+ u32 beacon_length6;
+
/* length of the template. */
u32 beacon_length;
/* Beacon data. */
- u8 beacon[BEACON_TEMPLATE_SIZE];
+ u8 beacon[BEACON_TEMPLATE_SIZE - sizeof(u32)];
u8 bssid[ETH_ALEN];
diff --git a/drivers/net/wireless/ath/wcn36xx/smd.c b/drivers/net/wireless/ath/wcn36xx/smd.c
index 74f56a81ad9a..ff3ed2461a69 100644
--- a/drivers/net/wireless/ath/wcn36xx/smd.c
+++ b/drivers/net/wireless/ath/wcn36xx/smd.c
@@ -1380,19 +1380,17 @@ int wcn36xx_smd_send_beacon(struct wcn36xx *wcn, struct ieee80211_vif *vif,
mutex_lock(&wcn->hal_mutex);
INIT_HAL_MSG(msg_body, WCN36XX_HAL_SEND_BEACON_REQ);
- /* TODO need to find out why this is needed? */
- msg_body.beacon_length = skb_beacon->len + 6;
+ msg_body.beacon_length = skb_beacon->len;
+ /* TODO need to find out why + 6 is needed */
+ msg_body.beacon_length6 = msg_body.beacon_length + 6;
- if (BEACON_TEMPLATE_SIZE > msg_body.beacon_length) {
- memcpy(&msg_body.beacon, &skb_beacon->len, sizeof(u32));
- memcpy(&(msg_body.beacon[4]), skb_beacon->data,
- skb_beacon->len);
- } else {
+ if (msg_body.beacon_length > BEACON_TEMPLATE_SIZE) {
wcn36xx_err("Beacon is to big: beacon size=%d\n",
msg_body.beacon_length);
ret = -ENOMEM;
goto out;
}
+ memcpy(msg_body.beacon, skb_beacon->data, skb_beacon->len);
memcpy(msg_body.bssid, vif->addr, ETH_ALEN);
/* TODO need to find out why this is needed? */
--
2.5.0
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH v3 00/18] wcn36xx fixes Bjorn Andersson <bjorn.andersson@linaro.org> - 2016-04-19 07:10 +0200
[PATCH v3 08/18] wcn36xx: Remove sta pointer in private vif struct Bjorn Andersson <bjorn.andersson@linaro.org> - 2016-04-19 07:10 +0200
[PATCH v3 11/18] wcn36xx: Use allocated self sta index instead of hard coded Bjorn Andersson <bjorn.andersson@linaro.org> - 2016-04-19 07:10 +0200
[PATCH v3 09/18] wcn36xx: Parse trigger_ba response properly Bjorn Andersson <bjorn.andersson@linaro.org> - 2016-04-19 07:10 +0200
[PATCH v3 05/18] wcn36xx: Use define for invalid index and fix typo Bjorn Andersson <bjorn.andersson@linaro.org> - 2016-04-19 07:10 +0200
[PATCH v3 18/18] wcn36xx: Fill in capability list Bjorn Andersson <bjorn.andersson@linaro.org> - 2016-04-19 07:10 +0200
[PATCH v3 07/18] wcn36xx: Fetch private sta data from sta entry instead of from vif Bjorn Andersson <bjorn.andersson@linaro.org> - 2016-04-19 07:10 +0200
[PATCH v3 16/18] wcn36xx: Delete BSS before idling link Bjorn Andersson <bjorn.andersson@linaro.org> - 2016-04-19 07:10 +0200
[PATCH v3 06/18] wcn36xx: Add helper macros to cast sta to priv Bjorn Andersson <bjorn.andersson@linaro.org> - 2016-04-19 07:10 +0200
Re: [PATCH v3 06/18] wcn36xx: Add helper macros to cast sta to priv Joe Perches <joe@perches.com> - 2016-04-19 10:50 +0200
[PATCH v3 17/18] wcn36xx: Correct remove bss key response encoding Bjorn Andersson <bjorn.andersson@linaro.org> - 2016-04-19 07:10 +0200
[PATCH v3 10/18] wcn36xx: Copy all members in config_sta v1 conversion Bjorn Andersson <bjorn.andersson@linaro.org> - 2016-04-19 07:10 +0200
[PATCH v3 14/18] wcn36xx: Implement multicast filtering Bjorn Andersson <bjorn.andersson@linaro.org> - 2016-04-19 07:10 +0200
[PATCH v3 02/18] wcn36xx: Pad TIM PVM if needed Bjorn Andersson <bjorn.andersson@linaro.org> - 2016-04-19 07:10 +0200
[PATCH v3 04/18] wcn36xx: Use consistent name for private vif Bjorn Andersson <bjorn.andersson@linaro.org> - 2016-04-19 07:10 +0200
[PATCH v3 15/18] wcn36xx: Use correct command struct for EXIT_BMPS_REQ Bjorn Andersson <bjorn.andersson@linaro.org> - 2016-04-19 07:10 +0200
[PATCH v3 01/18] wcn36xx: Clean up wcn36xx_smd_send_beacon Bjorn Andersson <bjorn.andersson@linaro.org> - 2016-04-19 07:10 +0200
[PATCH v3 12/18] wcn36xx: Clear encrypt_type when deleting bss key Bjorn Andersson <bjorn.andersson@linaro.org> - 2016-04-19 07:10 +0200
[PATCH v3 13/18] wcn36xx: Track association state Bjorn Andersson <bjorn.andersson@linaro.org> - 2016-04-19 07:10 +0200
Re: [PATCH v3 00/18] wcn36xx fixes Kalle Valo <kvalo@codeaurora.org> - 2016-04-25 20:00 +0200
csiph-web