[PATCH 3/3] ath10k: implement mesh support

Jason Andryuk jandryuk at gmail.com
Sat Aug 29 10:11:03 PDT 2015


On Thu, Aug 27, 2015 at 6:57 AM, Bob Copeland <me at bobcopeland.com> wrote:
> @@ -1117,6 +1120,15 @@ static int ath10k_core_init_firmware_features(struct ath10k *ar)
>         ar->htt.max_num_amsdu = ATH10K_HTT_MAX_NUM_AMSDU_DEFAULT;
>         ar->htt.max_num_ampdu = ATH10K_HTT_MAX_NUM_AMPDU_DEFAULT;
>
> +       if (rawmode) {
> +               if (!test_bit(ATH10K_FW_FEATURE_RAW_MODE_SUPPORT,
> +                             ar->fw_features)) {
> +                       ath10k_err(ar, "rawmode = 1 requires support from firmware");
> +                       return -EINVAL;
> +               }
> +               set_bit(ATH10K_FLAG_RAW_MODE, &ar->dev_flags);
> +       }
> +

Is there a reason to hide rawmode behind a modparam, or should the
modparam just be removed?  Just let the driver set
ATH10K_FLAG_RAW_MODE when ATH10K_FW_FEATURE_RAW_MODE_SUPPORT is
detected?

> @@ -6708,7 +6729,8 @@ static const struct ieee80211_iface_limit ath10k_tlv_qcs_if_limit[] = {
>         {
>                 .max = 1,
>                 .types = BIT(NL80211_IFTYPE_AP) |
> -                        BIT(NL80211_IFTYPE_P2P_GO),
> +                        BIT(NL80211_IFTYPE_P2P_GO) |
> +                        BIT(NL80211_IFTYPE_MESH_POINT),
>         },
>         {
>                 .max = 1,

Does struct ieee80211_iface_limit need to be conditional on firmware
support as well or does interface_modes (below) gate use of
MESH_POINT?

> @@ -6998,7 +7020,8 @@ int ath10k_mac_register(struct ath10k *ar)
>
>         ar->hw->wiphy->interface_modes =
>                 BIT(NL80211_IFTYPE_STATION) |
> -               BIT(NL80211_IFTYPE_AP);
> +               BIT(NL80211_IFTYPE_AP) |
> +               BIT(NL80211_IFTYPE_MESH_POINT);

Set BIT(NL80211_IFTYPE_MESH_POINT) conditionally if ATH10K_FLAG_RAW_MODE is set?

Regards,
Jason



More information about the ath10k mailing list