ath10k-ct: update to latest version, enable AHB.

The driver updates include:

ath10k driver backport to fix WPA 'pn' related security bugs
(4.13 based driver only currently),
a fix for off-channel TX for CT wave-1 firmware, a likely
fix for napi related crashes, and a backport of the firmware fetch
patch.

AHB is needed for the IPQ4019 platform radios.

Signed-off-by: Ben Greear <greearb@candelatech.com>
[use common subject format]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
This commit is contained in:
Ben Greear 2018-01-19 16:27:02 -08:00 committed by Jo-Philipp Wich
parent 3db9d6e57d
commit d0f3dd5b9f
2 changed files with 8 additions and 42 deletions

View file

@ -9,8 +9,8 @@ PKG_LICENSE_FILES:=
PKG_SOURCE_URL:=https://github.com/greearb/ath10k-ct.git PKG_SOURCE_URL:=https://github.com/greearb/ath10k-ct.git
PKG_SOURCE_PROTO:=git PKG_SOURCE_PROTO:=git
PKG_SOURCE_DATE:=2017-06-13 PKG_SOURCE_DATE:=2017-06-13
PKG_SOURCE_VERSION:=bded1823912549017d819d1796273b3134c3de20 PKG_SOURCE_VERSION:=e1edd74d5f0c5291b0be72c81033e74e267929d4
PKG_MIRROR_HASH:=616174650e12a82edb6b6bd18ac186e2c6a48fdad0082df9d2011ab20940814b PKG_MIRROR_HASH:=945dc7110017a80c33cac20d9d2a9beda0a6a98b50178319403568098534e60a
PKG_MAINTAINER:=Ben Greear <greearb@candelatech.com> PKG_MAINTAINER:=Ben Greear <greearb@candelatech.com>
PKG_BUILD_PARALLEL:=1 PKG_BUILD_PARALLEL:=1
@ -29,7 +29,7 @@ include $(INCLUDE_DIR)/package.mk
define KernelPackage/ath10k-ct define KernelPackage/ath10k-ct
SUBMENU:=Wireless Drivers SUBMENU:=Wireless Drivers
TITLE:=ath10k-ct driver optimized for CT ath10k firmware TITLE:=ath10k-ct driver optimized for CT ath10k firmware
DEPENDS:=+kmod-mac80211 +kmod-ath +@DRIVER_11N_SUPPORT +@DRIVER_11AC_SUPPORT @PCI_SUPPORT +kmod-hwmon-core DEPENDS:=+kmod-mac80211 +kmod-ath +@DRIVER_11N_SUPPORT +@DRIVER_11AC_SUPPORT +@DRIVER_11W_SUPPORT +kmod-hwmon-core
FILES:=\ FILES:=\
$(PKG_BUILD_DIR)/ath10k$(CT_KVER)/ath10k_pci.ko \ $(PKG_BUILD_DIR)/ath10k$(CT_KVER)/ath10k_pci.ko \
$(PKG_BUILD_DIR)/ath10k$(CT_KVER)/ath10k_core.ko $(PKG_BUILD_DIR)/ath10k$(CT_KVER)/ath10k_core.ko
@ -50,9 +50,11 @@ ifdef CONFIG_PACKAGE_MAC80211_MESH
endif endif
CT_MAKEDEFS += CONFIG_ATH10K=m CONFIG_ATH10K_PCI=m CT_MAKEDEFS += CONFIG_ATH10K=m CONFIG_ATH10K_PCI=m
# No AHB support enabled yet. Could conditionally enable it later.
#CT_MAKEDEFS += CONFIG_ATH10K_AHB=y # This AHB logic is needed for IPQ4019 radios
#NOSTDINC_FLAGS += -DCONFIG_ATH10K_AHB CT_MAKEDEFS += CONFIG_ATH10K_AHB=m
NOSTDINC_FLAGS += -DCONFIG_ATH10K_AHB
NOSTDINC_FLAGS += -DSTANDALONE_CT NOSTDINC_FLAGS += -DSTANDALONE_CT
ifdef CONFIG_PACKAGE_MAC80211_DEBUGFS ifdef CONFIG_PACKAGE_MAC80211_DEBUGFS

View file

@ -1,36 +0,0 @@
From c0cc00f250e19c717fc9cdbdb7f55aaa569c7498 Mon Sep 17 00:00:00 2001
From: Hauke Mehrtens <hauke@hauke-m.de>
Date: Thu, 24 Aug 2017 23:06:41 +0200
Subject: [PATCH] ath10k: activate user space firmware loading again
In commit 9f5bcfe93315 ("ath10k: silence firmware file probing
warnings") the firmware loading was changed from request_firmware() to
request_firmware_direct() to silence some warnings in case it fails.
request_firmware_direct() directly searches in the file system only and
does not send a hotplug event to user space in case it could not find
the firmware directly.
In LEDE we use a user space script to extract the calibration data from
the flash memory which gets triggered by the hotplug event. This way the
firmware gets extracted from some vendor specific partition when the
driver requests this firmware. This mechanism does not work any more
after this change.
Fixes: 9f5bcfe93315 ("ath10k: silence firmware file probing warnings")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Cc: Michal Kazior <michal.kazior@tieto.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
---
ath10k-4.13/core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/ath10k-4.13/core.c
+++ b/ath10k-4.13/core.c
@@ -556,7 +556,7 @@ static const struct firmware *ath10k_fet
dir = ".";
snprintf(filename, sizeof(filename), "%s/%s", dir, file);
- ret = request_firmware_direct(&fw, filename, ar->dev);
+ ret = request_firmware(&fw, filename, ar->dev);
ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot fw request '%s': %d\n",
filename, ret);