summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichal Kazior2015-02-09 15:04:55 +0100
committerKalle Valo2015-03-04 13:07:15 +0100
commit6383864053cc456aa82847cd910257deaa34eb5a (patch)
tree20ebfb32c8b0adeceb57fc89f22c60205b4f2907
parentath10k: delete unnecessary checks before the function call "release_firmware" (diff)
downloadkernel-qcow2-linux-6383864053cc456aa82847cd910257deaa34eb5a.tar.gz
kernel-qcow2-linux-6383864053cc456aa82847cd910257deaa34eb5a.tar.xz
kernel-qcow2-linux-6383864053cc456aa82847cd910257deaa34eb5a.zip
ath10k: workaround corrupted htt rx events
qca6174 WLAN.RM.2.0-00073 firmware uses full rx reordering offload and delivers Rx via a new HTT event. The event however is incorrectly generated in firmware and becomes overly long (with trailing garbage). This was hitting defined CE buffer limit that was programmed to the device and caused device to crash upon busier Rx traffic. Increasing the CE buffer limit for HTT Rx pipe to 2KBytes seems to be enough to workaround this problem. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
-rw-r--r--drivers/net/wireless/ath/ath10k/pci.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/wireless/ath/ath10k/pci.c b/drivers/net/wireless/ath/ath10k/pci.c
index e6972b09333e..7681237fe298 100644
--- a/drivers/net/wireless/ath/ath10k/pci.c
+++ b/drivers/net/wireless/ath/ath10k/pci.c
@@ -104,7 +104,7 @@ static const struct ce_attr host_ce_config_wlan[] = {
{
.flags = CE_ATTR_FLAGS,
.src_nentries = 0,
- .src_sz_max = 512,
+ .src_sz_max = 2048,
.dest_nentries = 512,
},
@@ -174,7 +174,7 @@ static const struct ce_pipe_config target_ce_config_wlan[] = {
.pipenum = __cpu_to_le32(1),
.pipedir = __cpu_to_le32(PIPEDIR_IN),
.nentries = __cpu_to_le32(32),
- .nbytes_max = __cpu_to_le32(512),
+ .nbytes_max = __cpu_to_le32(2048),
.flags = __cpu_to_le32(CE_ATTR_FLAGS),
.reserved = __cpu_to_le32(0),
},