Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 25d217d6 authored by Pontus Fuchs's avatar Pontus Fuchs Committed by Kalle Valo
Browse files

wcn36xx: Clean up wcn36xx_smd_send_beacon



Needed for coming improvements. No functional changes.

Signed-off-by: default avatarPontus Fuchs <pontus.fuchs@gmail.com>
[bjorn: restored BEACON_TEMPLATE_SIZE define to 0x180]
Signed-off-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
parent 0f9edcdd
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -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];

+5 −7
Original line number Diff line number Diff line
@@ -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? */