ath10k: use vif->type and vif->p2p for P2P_GO check
authorPeter Oh <poh@qca.qualcomm.com>
Thu, 28 Jan 2016 21:54:09 +0000 (13:54 -0800)
committerKalle Valo <kvalo@qca.qualcomm.com>
Tue, 2 Feb 2016 12:07:46 +0000 (14:07 +0200)
Interface type P2P_GO can be checked by either arvif->vdev_type
and arvif->vdev_subtype or vif->type and vif->p2p.
Use later one to avoid more cpu consumption that could happen
when subtype abstraction layer change is introduced.

Signed-off-by: Peter Oh <poh@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
drivers/net/wireless/ath/ath10k/mac.c
drivers/net/wireless/ath/ath10k/wmi.c

index 1406b0f..addf3cb 100644 (file)
@@ -1358,10 +1358,7 @@ static int ath10k_mac_setup_bcn_p2p_ie(struct ath10k_vif *arvif,
        const u8 *p2p_ie;
        int ret;
 
-       if (arvif->vdev_type != WMI_VDEV_TYPE_AP)
-               return 0;
-
-       if (arvif->vdev_subtype != WMI_VDEV_SUBTYPE_P2P_GO)
+       if (arvif->vif->type != NL80211_IFTYPE_AP || !arvif->vif->p2p)
                return 0;
 
        mgmt = (void *)bcn->data;
@@ -3259,8 +3256,7 @@ static void ath10k_tx_h_add_p2p_noa_ie(struct ath10k *ar,
        struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif);
 
        /* This is case only for P2P_GO */
-       if (arvif->vdev_type != WMI_VDEV_TYPE_AP ||
-           arvif->vdev_subtype != WMI_VDEV_SUBTYPE_P2P_GO)
+       if (vif->type != NL80211_IFTYPE_AP || !vif->p2p)
                return;
 
        if (unlikely(ieee80211_is_probe_resp(hdr->frame_control))) {
index 0f01a8d..5158716 100644 (file)
@@ -3196,7 +3196,7 @@ static void ath10k_wmi_update_noa(struct ath10k *ar, struct ath10k_vif *arvif,
                                  struct sk_buff *bcn,
                                  const struct wmi_p2p_noa_info *noa)
 {
-       if (arvif->vdev_subtype != WMI_VDEV_SUBTYPE_P2P_GO)
+       if (!arvif->vif->p2p)
                return;
 
        ath10k_dbg(ar, ATH10K_DBG_MGMT, "noa changed: %d\n", noa->changed);