提交 abbbbec6 编写于 作者: C coolsnowwolf

ath10k-ct driver and firmware stable fix

上级 b29e9ad9
......@@ -82,38 +82,38 @@ define Download/ct-firmware
URL_FILE:=$($(1)_FIRMWARE_FILE_CT)
endef
QCA988X_FIRMWARE_FILE_CT:=firmware-2-ct-full-community.bin-19-rc5-lede
QCA988X_FIRMWARE_FILE_CT:=firmware-2-ct-full-community-19.bin.lede
define Download/ath10k-firmware-qca988x-ct
$(call Download/ct-firmware,QCA988X,)
HASH:=556d6a4df50cd94a229a240d6d1d108ed5910069902f1e0cbb57b02ede27690f
HASH:=bff98f028062dae9fc638c7596aec3c79bf9eddaff65cfacba067f6d72f217cd
endef
$(eval $(call Download,ath10k-firmware-qca988x-ct))
QCA9887_FIRMWARE_FILE_CT:=firmware-2-ct-full-community.bin-19-rc5-lede
QCA9887_FIRMWARE_FILE_CT:=firmware-2-ct-full-community-19.bin.lede
define Download/ath10k-firmware-qca9887-ct
$(call Download/ct-firmware,QCA9887,ath10k-9887)
HASH:=725982694156e0b891dcd1b1b18ba5318fbbe173f4ec9603ff7acbd08f7c4050
HASH:=95dc106f98672bd9c7d3fe6881ed79ab079cb49b0a995650991b1beaff2b0101
endef
$(eval $(call Download,ath10k-firmware-qca9887-ct))
QCA99X0_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-9.bin-lede.002
QCA99X0_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-9.bin-lede.004
define Download/ath10k-firmware-qca99x0-ct
$(call Download/ct-firmware,QCA99X0,ath10k-10-4)
HASH:=e3c77077b47d55219f90816a51bf046f5b40c32be5e96bf629b083d873a879ad
HASH:=993c29fd64bb2a59b86d34f58601a1a48b83b541750bc511f78cc17152829b4d
endef
$(eval $(call Download,ath10k-firmware-qca99x0-ct))
QCA9984_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-9.bin-lede.002
QCA9984_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-9.bin-lede.004
define Download/ath10k-firmware-qca9984-ct
$(call Download/ct-firmware,QCA9984,ath10k-9984-10-4)
HASH:=610f7747db6b101f4fc21431b776ac640b5977357e5be9aece2349447b9b1d85
HASH:=d997eed9a8bc6809c01d367759ba8545c10e3be93ea1f33d6d753127ef0f7c5e
endef
$(eval $(call Download,ath10k-firmware-qca9984-ct))
QCA9888_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-9.bin-lede.002
QCA9888_FIRMWARE_FILE_CT:=firmware-5-ct-full-community-9.bin-lede.004
define Download/ath10k-firmware-qca9888-ct
$(call Download/ct-firmware,QCA9888,ath10k-9888-10-4)
HASH:=f92e7d7968698af7c6f2d76b31b3645589e03839e15838010ce457c635e5aae6
HASH:=bbaa71bc7dcaa264c5875e86639f174908fed09fbace975e325959d42f3754ff
endef
$(eval $(call Download,ath10k-firmware-qca9888-ct))
......
......@@ -8,13 +8,18 @@ PKG_LICENSE_FILES:=
PKG_SOURCE_URL:=https://github.com/greearb/ath10k-ct.git
PKG_SOURCE_PROTO:=git
PKG_SOURCE_DATE:=2017-05-16
PKG_SOURCE_VERSION:=c048ef0c3eedf99b41bc12b3f4e47ef3d9fab484
PKG_MIRROR_HASH:=7936293962a10a0da7469759623013fc151019a6a584cfc6416bc0b605bd74d7
PKG_SOURCE_DATE:=2017-06-13
PKG_SOURCE_VERSION:=bded1823912549017d819d1796273b3134c3de20
PKG_MIRROR_HASH:=616174650e12a82edb6b6bd18ac186e2c6a48fdad0082df9d2011ab20940814b
PKG_MAINTAINER:=Ben Greear <greearb@candelatech.com>
PKG_BUILD_PARALLEL:=1
# Build the 4.13 ath10k-ct driver version. Other options are "-4.9", or
# leave un-defined for 4.7 kernel. Probably this should match as closely as
# possible to whatever mac80211 backports version is being used.
CT_KVER="-4.13"
STAMP_CONFIGURED_DEPENDS := $(STAGING_DIR)/usr/include/mac80211-backport/backport/autoconf.h
include $(INCLUDE_DIR)/kernel.mk
......@@ -25,8 +30,8 @@ define KernelPackage/ath10k-ct
TITLE:=ath10k-ct driver optimized for CT ath10k firmware
DEPENDS:=+kmod-mac80211 +kmod-ath +@DRIVER_11N_SUPPORT +@DRIVER_11AC_SUPPORT @PCI_SUPPORT +@KERNEL_RELAY +kmod-hwmon-core
FILES:=\
$(PKG_BUILD_DIR)/ath10k/ath10k_pci.ko \
$(PKG_BUILD_DIR)/ath10k/ath10k_core.ko
$(PKG_BUILD_DIR)/ath10k$(CT_KVER)/ath10k_pci.ko \
$(PKG_BUILD_DIR)/ath10k$(CT_KVER)/ath10k_core.ko
AUTOLOAD:=$(call AutoLoad,50,mac80211 ath ath10k_core ath10k_pci)
endef
......@@ -75,7 +80,7 @@ define Build/Compile
+$(MAKE) $(CT_MAKEDEFS) $(PKG_JOBS) -C "$(LINUX_DIR)" \
ARCH="$(LINUX_KARCH)" \
CROSS_COMPILE="$(TARGET_CROSS)" \
SUBDIRS="$(PKG_BUILD_DIR)/ath10k" \
SUBDIRS="$(PKG_BUILD_DIR)/ath10k$(CT_KVER)" \
NOSTDINC_FLAGS="$(NOSTDINC_FLAGS)" \
modules
endef
......
......@@ -17,7 +17,7 @@
firmware = ar->normal_mode_fw.fw_file.firmware;
if (firmware)
@@ -3413,7 +3413,7 @@ int ath10k_debug_register(struct ath10k
@@ -3422,7 +3422,7 @@ int ath10k_debug_register(struct ath10k
debugfs_create_file("nf_cal_period", S_IRUSR | S_IWUSR,
ar->debug.debugfs_phy, ar, &fops_nf_cal_period);
......@@ -28,7 +28,7 @@
&fops_simulate_radar);
--- a/ath10k/mac.c
+++ b/ath10k/mac.c
@@ -3596,7 +3596,7 @@ static void ath10k_regd_update(struct at
@@ -3604,7 +3604,7 @@ static void ath10k_regd_update(struct at
regpair = ar->ath_common.regulatory.regpair;
......@@ -37,7 +37,7 @@
nl_dfs_reg = ar->dfs_detector->region;
wmi_dfs_reg = ath10k_mac_get_dfs_region(nl_dfs_reg);
ath10k_dbg(ar, ATH10K_DBG_REGULATORY,
@@ -3630,7 +3630,7 @@ static void ath10k_reg_notifier(struct w
@@ -3638,7 +3638,7 @@ static void ath10k_reg_notifier(struct w
ath_reg_notifier_apply(wiphy, request, &ar->ath_common.regulatory);
......@@ -46,7 +46,7 @@
ath10k_dbg(ar, ATH10K_DBG_REGULATORY, "reg-notifier: dfs region 0x%x\n",
request->dfs_region);
result = ar->dfs_detector->set_dfs_domain(ar->dfs_detector,
@@ -8925,7 +8925,7 @@ int ath10k_mac_register(struct ath10k *a
@@ -8938,7 +8938,7 @@ int ath10k_mac_register(struct ath10k *a
if (!test_bit(ATH10K_FLAG_RAW_MODE, &ar->dev_flags))
ar->hw->netdev_features = NETIF_F_HW_CSUM;
......@@ -55,7 +55,7 @@
/* Init ath dfs pattern detector */
ar->ath_common.debug_mask = ATH_DBG_DFS;
ar->dfs_detector = dfs_pattern_detector_init(&ar->ath_common,
@@ -8970,7 +8970,7 @@ err_unregister:
@@ -8983,7 +8983,7 @@ err_unregister:
ieee80211_unregister_hw(ar->hw);
err_dfs_detector_exit:
......@@ -64,7 +64,7 @@
ar->dfs_detector->exit(ar->dfs_detector);
err_free:
@@ -8985,7 +8985,7 @@ void ath10k_mac_unregister(struct ath10k
@@ -8998,7 +8998,7 @@ void ath10k_mac_unregister(struct ath10k
{
ieee80211_unregister_hw(ar->hw);
......
--- a/ath10k/htt_rx.c
+++ b/ath10k/htt_rx.c
@@ -2497,7 +2497,7 @@ bool ath10k_htt_t2h_msg_handler(struct a
@@ -2514,7 +2514,7 @@ bool ath10k_htt_t2h_msg_handler(struct a
u32 freq = __le32_to_cpu(resp->chan_change.freq);
ar->tgt_oper_chan =
......
......@@ -51,7 +51,7 @@
break;
default:
break;
@@ -883,13 +883,10 @@ static void ath10k_htt_rx_h_ppdu(struct
@@ -900,13 +900,10 @@ static void ath10k_htt_rx_h_ppdu(struct
/* New PPDU starts so clear out the old per-PPDU status. */
status->freq = 0;
status->rate_idx = 0;
......@@ -69,7 +69,7 @@
status->flag |= RX_FLAG_NO_SIGNAL_VAL;
ath10k_htt_rx_h_signal(ar, status, rxd);
@@ -942,7 +939,7 @@ static void ath10k_process_rx(struct ath
@@ -959,7 +956,7 @@ static void ath10k_process_rx(struct ath
*status = *rx_status;
ath10k_dbg(ar, ATH10K_DBG_DATA,
......@@ -78,7 +78,7 @@
skb,
skb->len,
ieee80211_get_SA(hdr),
@@ -950,15 +947,15 @@ static void ath10k_process_rx(struct ath
@@ -967,15 +964,15 @@ static void ath10k_process_rx(struct ath
is_multicast_ether_addr(ieee80211_get_DA(hdr)) ?
"mcast" : "ucast",
(__le16_to_cpu(hdr->seq_ctrl) & IEEE80211_SCTL_SEQ) >> 4,
......
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);
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册