Search Linux Wireless

Re: [PATCH] wcn36xx: enable the beaconing in mesh mode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Looks good to me.

On Fri, Dec 6, 2013 at 3:28 AM, Chun-Yeow Yeoh <yeohchunyeow@xxxxxxxxx> wrote:
> Enable the beaconing in wnc36xx by tweaking the tim offset and
> force the use of AP-style beaconing. Otherwise, beaconing is not
> working. The tim offset is set to 256. Otherwise, this will
> overwrite mesh beacon submitted by mac80211.
>
> Signed-off-by: Chun-Yeow Yeoh <yeohchunyeow@xxxxxxxxxxx>
> ---
>  drivers/net/wireless/ath/wcn36xx/smd.c |   12 ++++++++----
>  1 file changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/net/wireless/ath/wcn36xx/smd.c b/drivers/net/wireless/ath/wcn36xx/smd.c
> index f8c3a10..19f43de 100644
> --- a/drivers/net/wireless/ath/wcn36xx/smd.c
> +++ b/drivers/net/wireless/ath/wcn36xx/smd.c
> @@ -1134,14 +1134,14 @@ int wcn36xx_smd_config_bss(struct wcn36xx *wcn, struct ieee80211_vif *vif,
>                 /* STA */
>                 bss->oper_mode = 1;
>                 bss->wcn36xx_hal_persona = WCN36XX_HAL_STA_MODE;
> -       } else if (vif->type == NL80211_IFTYPE_AP) {
> +       } else if (vif->type == NL80211_IFTYPE_AP ||
> +                  vif->type == NL80211_IFTYPE_MESH_POINT) {
>                 bss->bss_type = WCN36XX_HAL_INFRA_AP_MODE;
>
>                 /* AP */
>                 bss->oper_mode = 0;
>                 bss->wcn36xx_hal_persona = WCN36XX_HAL_STA_SAP_MODE;
> -       } else if (vif->type == NL80211_IFTYPE_ADHOC ||
> -                  vif->type == NL80211_IFTYPE_MESH_POINT) {
> +       } else if (vif->type == NL80211_IFTYPE_ADHOC) {
>                 bss->bss_type = WCN36XX_HAL_IBSS_MODE;
>
>                 /* STA */
> @@ -1291,7 +1291,11 @@ int wcn36xx_smd_send_beacon(struct wcn36xx *wcn, struct ieee80211_vif *vif,
>         memcpy(msg_body.bssid, vif->addr, ETH_ALEN);
>
>         /* TODO need to find out why this is needed? */
> -       msg_body.tim_ie_offset = tim_off+4;
> +       if (vif->type == NL80211_IFTYPE_MESH_POINT)
> +               /* mesh beacon don't need this, so push further down */
> +               msg_body.tim_ie_offset = 256;
> +       else
> +               msg_body.tim_ie_offset = tim_off+4;
>         msg_body.p2p_ie_offset = p2p_off;
>         PREPARE_HAL_BUF(wcn->hal_buf, msg_body);
>
> --
> 1.7.9.5
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html



-- 
Best regards,
Eugene
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux