summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2017-02-02 12:31:32 -0800
committerGerrit - the friendly Code Review server <code-review@localhost>2017-02-02 12:31:31 -0800
commit0769d8a501aa8217e7c8a80ee8350ddfb3db2cf1 (patch)
tree41e39cafc52427b262e0789ca13cd0170636994b
parent7ac59f96422027a21739e203d3f3824650d6a9f9 (diff)
parent9c3ac0ca0119c86ebefacb2761eddedaec9552fa (diff)
Merge "ath10k: disable HW checksum for WCN3990"
-rw-r--r--drivers/net/wireless/ath/ath10k/core.c11
-rw-r--r--drivers/net/wireless/ath/ath10k/mac.c18
2 files changed, 18 insertions, 11 deletions
diff --git a/drivers/net/wireless/ath/ath10k/core.c b/drivers/net/wireless/ath/ath10k/core.c
index bf77ac66c79e..7c4a9c23304c 100644
--- a/drivers/net/wireless/ath/ath10k/core.c
+++ b/drivers/net/wireless/ath/ath10k/core.c
@@ -1968,10 +1968,13 @@ int ath10k_core_start(struct ath10k *ar, enum ath10k_firmware_mode mode,
* possible to implicitly make it correct by creating a dummy vdev and
* then deleting it.
*/
- status = ath10k_core_reset_rx_filter(ar);
- if (status) {
- ath10k_err(ar, "failed to reset rx filter: %d\n", status);
- goto err_hif_stop;
+ if (!QCA_REV_WCN3990(ar)) {
+ status = ath10k_core_reset_rx_filter(ar);
+ if (status) {
+ ath10k_err(ar, "failed to reset rx filter: %d\n",
+ status);
+ goto err_hif_stop;
+ }
}
/* If firmware indicates Full Rx Reorder support it must be used in a
diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c
index 7a5bfeea8f3d..aac15b0a3340 100644
--- a/drivers/net/wireless/ath/ath10k/mac.c
+++ b/drivers/net/wireless/ath/ath10k/mac.c
@@ -2798,11 +2798,13 @@ static void ath10k_bss_disassoc(struct ieee80211_hw *hw,
arvif->def_wep_key_idx = -1;
- ret = ath10k_mac_vif_recalc_txbf(ar, vif, vht_cap);
- if (ret) {
- ath10k_warn(ar, "failed to recalc txbf for vdev %i: %d\n",
- arvif->vdev_id, ret);
- return;
+ if (!QCA_REV_WCN3990(ar)) {
+ ret = ath10k_mac_vif_recalc_txbf(ar, vif, vht_cap);
+ if (ret) {
+ ath10k_warn(ar, "failed to recalc txbf for vdev %i: %d\n",
+ arvif->vdev_id, ret);
+ return;
+ }
}
arvif->is_up = false;
@@ -7987,8 +7989,10 @@ int ath10k_mac_register(struct ath10k *ar)
goto err_free;
}
- if (!test_bit(ATH10K_FLAG_RAW_MODE, &ar->dev_flags))
- ar->hw->netdev_features = NETIF_F_HW_CSUM;
+ if (!QCA_REV_WCN3990(ar)) {
+ if (!test_bit(ATH10K_FLAG_RAW_MODE, &ar->dev_flags))
+ ar->hw->netdev_features = NETIF_F_HW_CSUM;
+ }
if (IS_ENABLED(CONFIG_ATH10K_DFS_CERTIFIED)) {
/* Init ath dfs pattern detector */