From patchwork Mon Jun 3 11:38:10 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sriram R X-Patchwork-Id: 10972793 X-Patchwork-Delegate: kvalo@adurom.com Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id CE98576 for ; Mon, 3 Jun 2019 11:38:29 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id BD28F285A2 for ; Mon, 3 Jun 2019 11:38:29 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id B11F8288AE; Mon, 3 Jun 2019 11:38:29 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id A8B54285A2 for ; Mon, 3 Jun 2019 11:38:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Message-Id:Date: Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To: References:List-Owner; bh=BRDoE9LORVfzkMz00ze6xFKapPKd2fFkhaGbONO26Ak=; b=frR T0H3CnPXI4UJWf0NPKWgKAjOY8n2j4zvY9hxcPNcwaxDipXCY+wycoYaXQaeobw3nXXa+sCOsfYob jyh9fjn5rFEEq74jCR75CNYZYd4/4sUJm62v5QUFSzPZJ19jTKDK9LiqlwZ6MPdAK/z9VmpJrgrFM S6Nd0BBdmn5IavrObrqKaTXx3QK39n+ymgaf2Q+s9U7kvCe7U3Fgg+Kzc+yxnKzVfPs3i1roIJMDk d6S8hrvaXZAQ/sLc2ZYaPeP4WAXPAjf6d7UDY8QENuNgs8ZYDPDq0IYSf+be4Jxye6Q7fVibOqcFa RwbQupZef0TqL03FOwRTfxiB6vCt66A==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1hXlIJ-0003lq-VD; Mon, 03 Jun 2019 11:38:27 +0000 Received: from smtp.codeaurora.org ([198.145.29.96]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1hXlIH-0003lU-8k for ath11k@lists.infradead.org; Mon, 03 Jun 2019 11:38:26 +0000 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id 04FE6609CD; Mon, 3 Jun 2019 11:38:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1559561905; bh=8ndGMVpydVAprSMogGdfqWEMVWUDyIaooby1YI4R7bU=; h=From:To:Cc:Subject:Date:From; b=bN41sIDH7rFAw5vUqpy2/yjkJh4wlar6+/NIbrCIpi03Hhz+ew7uHqr/VKuKaTvJ0 vI5hnDSdbn0k7WvoFBo58C7esFJon0shWBwvf0O+zRD9/YuSPOdDsyLwxgelsTs6i7 gPJWX6SR77OTfuISPUnn9iovo2inJ6Rr8vgLv8XM= Received: from checstp253621-lin.qualcomm.com (blr-c-bdr-fw-01_globalnat_allzones-outside.qualcomm.com [103.229.19.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: srirrama@codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id 4733A609CD; Mon, 3 Jun 2019 11:38:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1559561904; bh=8ndGMVpydVAprSMogGdfqWEMVWUDyIaooby1YI4R7bU=; h=From:To:Cc:Subject:Date:From; b=L9F1x/zHqMS6J7XOe+/I8ENFuNUFQfa0f7keXofeRy9w9SQYJu5EmlEb/AgWtFdkB tDLJzhbfNRkwkwmbf+Q9Fu5TqXN5mm/+oqEnG0hDNulCt8bII8cXheywXV17RkAOy9 NaE5VV+3mkyzPgWcst67YkQ9HuC3j9dpZBpLN0ng= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 4733A609CD Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=srirrama@codeaurora.org From: Sriram R To: ath11k@lists.infradead.org Subject: [PATCH] ath11k: Remove probe response offload template setup Date: Mon, 3 Jun 2019 17:08:10 +0530 Message-Id: <1559561890-27984-1-git-send-email-srirrama@codeaurora.org> X-Mailer: git-send-email 2.7.4 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190603_043825_342469_3E8DBB7D X-CRM114-Status: GOOD ( 11.90 ) X-BeenThere: ath11k@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Sriram R MIME-Version: 1.0 Sender: "ath11k" Errors-To: ath11k-bounces+patchwork-ath11k=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP Probe response offload support is not supported by IPQ8074 firmware. Hence do not advertise or set probe response template to the firmware. This would avoid the below error during template setup. 'failed to update prb tmpl -1' Signed-off-by: Sriram R --- drivers/net/wireless/ath/ath11k/mac.c | 40 ------------------------ drivers/net/wireless/ath/ath11k/wmi.c | 58 ----------------------------------- drivers/net/wireless/ath/ath11k/wmi.h | 8 ----- 3 files changed, 106 deletions(-) diff --git a/drivers/net/wireless/ath/ath11k/mac.c b/drivers/net/wireless/ath/ath11k/mac.c index 87a420e..9cb8ea3 100644 --- a/drivers/net/wireless/ath/ath11k/mac.c +++ b/drivers/net/wireless/ath/ath11k/mac.c @@ -828,34 +828,6 @@ static int ath11k_mac_setup_bcn_tmpl(struct ath11k_vif *arvif) return ret; } -static int ath11k_mac_setup_prb_tmpl(struct ath11k_vif *arvif) -{ - struct ath11k *ar = arvif->ar; - struct ieee80211_hw *hw = ar->hw; - struct ieee80211_vif *vif = arvif->vif; - struct sk_buff *prb; - int ret; - - /* Interface validation is part of the below function, need not - * check here. - */ - prb = ieee80211_proberesp_get(hw, vif); - if (!prb) { - ath11k_warn(ar->ab, "failed to get probe resp template from mac80211\n"); - return -EPERM; - } - - ret = ath11k_wmi_prb_tmpl(ar, arvif->vdev_id, prb); - kfree_skb(prb); - - if (ret) { - ath11k_warn(ar->ab, "failed to submit probe resp template command: %d\n", - ret); - } - - return ret; -} - static void ath11k_control_beaconing(struct ath11k_vif *arvif, struct ieee80211_bss_conf *info) { @@ -1697,13 +1669,6 @@ static void ath11k_bss_info_changed(struct ieee80211_hw *hw, ret); } - if (changed & BSS_CHANGED_AP_PROBE_RESP) { - ret = ath11k_mac_setup_prb_tmpl(arvif); - if (ret) - ath11k_warn(ar->ab, "failed to setup probe resp template on vdev %i: %d\n", - arvif->vdev_id, ret); - } - if (changed & (BSS_CHANGED_BEACON_INFO | BSS_CHANGED_BEACON)) { arvif->dtim_period = info->dtim_period; @@ -4120,11 +4085,6 @@ ath11k_mac_update_vif_chan(struct ath11k *ar, ath11k_warn(ab, "failed to update bcn tmpl during csa: %d\n", ret); - ret = ath11k_mac_setup_prb_tmpl(arvif); - if (ret) - ath11k_warn(ar->ab, "failed to update prb tmpl: %d\n", - ret); - ret = ath11k_mac_vdev_restart(arvif, &vifs[i].new_ctx->def); if (ret) { ath11k_warn(ab, "failed to restart vdev %d: %d\n", diff --git a/drivers/net/wireless/ath/ath11k/wmi.c b/drivers/net/wireless/ath/ath11k/wmi.c index 3ac1e1c..25a45af 100644 --- a/drivers/net/wireless/ath/ath11k/wmi.c +++ b/drivers/net/wireless/ath/ath11k/wmi.c @@ -1514,64 +1514,6 @@ int ath11k_wmi_bcn_tmpl(struct ath11k *ar, u32 vdev_id, return ret; } -int ath11k_wmi_prb_tmpl(struct ath11k *ar, u32 vdev_id, - struct sk_buff *prb) -{ - struct ath11k_pdev_wmi *wmi = ar->wmi; - struct wmi_prb_tmpl_cmd *cmd; - struct wmi_bcn_prb_info *bcn_prb_info; - struct wmi_tlv *tlv; - struct sk_buff *skb; - void *ptr; - int len, ret; - size_t aligned_len = roundup(prb->len, 4); - - len = sizeof(*cmd) + sizeof(*bcn_prb_info) + TLV_HDR_SIZE + aligned_len; - if (len > WMI_BEACON_TX_BUFFER_SIZE) { - ath11k_warn(ar->ab, "Can't send wmi cmd\n"); - return -EINVAL; - } - - skb = ath11k_wmi_alloc_skb(wmi->wmi_sc, len); - if (!skb) - return -ENOMEM; - - cmd = (struct wmi_prb_tmpl_cmd *)skb->data; - cmd->tlv_header = FIELD_PREP(WMI_TLV_TAG, WMI_TAG_PRB_TMPL_CMD) | - FIELD_PREP(WMI_TLV_LEN, sizeof(*cmd) - TLV_HDR_SIZE); - cmd->vdev_id = vdev_id; - cmd->buf_len = prb->len; - - ptr = (void *)skb->data + sizeof(*cmd); - len = sizeof(*bcn_prb_info); - - bcn_prb_info = (struct wmi_bcn_prb_info *)ptr; - bcn_prb_info->tlv_header = FIELD_PREP(WMI_TLV_TAG, - WMI_TAG_BCN_PRB_INFO) | - FIELD_PREP(WMI_TLV_LEN, len - TLV_HDR_SIZE); - bcn_prb_info->caps = 0; - bcn_prb_info->erp = 0; - - ptr += sizeof(*bcn_prb_info); - - tlv = (struct wmi_tlv *)ptr; - tlv->header = FIELD_PREP(WMI_TLV_TAG, WMI_TAG_ARRAY_BYTE) | - FIELD_PREP(WMI_TLV_LEN, aligned_len); - - memcpy(tlv->value, prb->data, prb->len); - - ath11k_dbg(ar->ab, ATH11K_DBG_WMI, - "WMI prb tmpl vdev id %d len %d\n", vdev_id, prb->len); - - ret = ath11k_wmi_cmd_send(wmi, skb, WMI_PRB_TMPL_CMDID); - if (ret) { - ath11k_warn(ar->ab, "failed to send WMI_PRB_TMPL_CMDID\n"); - dev_kfree_skb(skb); - } - - return ret; -} - int ath11k_wmi_vdev_install_key(struct ath11k *ar, struct wmi_vdev_install_key_arg *arg) { diff --git a/drivers/net/wireless/ath/ath11k/wmi.h b/drivers/net/wireless/ath/ath11k/wmi.h index 0d36c8a..fdaf63b 100644 --- a/drivers/net/wireless/ath/ath11k/wmi.h +++ b/drivers/net/wireless/ath/ath11k/wmi.h @@ -3792,12 +3792,6 @@ struct wmi_bcn_tmpl_cmd { u32 esp_ie_offset; } __packed; -struct wmi_prb_tmpl_cmd { - u32 tlv_header; - u32 vdev_id; - u32 buf_len; -} __packed; - struct wmi_key_seq_counter { u32 key_seq_counter_l; u32 key_seq_counter_h; @@ -5143,8 +5137,6 @@ int ath11k_wmi_mgmt_send(struct ath11k *ar, u32 vdev_id, u32 buf_id, int ath11k_wmi_bcn_tmpl(struct ath11k *ar, u32 vdev_id, struct ieee80211_mutable_offsets *offs, struct sk_buff *bcn); -int ath11k_wmi_prb_tmpl(struct ath11k *ar, u32 vdev_id, - struct sk_buff *prb); int ath11k_wmi_vdev_down(struct ath11k *ar, u8 vdev_id); int ath11k_wmi_vdev_up(struct ath11k *ar, u32 vdev_id, u32 aid, const u8 *bssid);