From 56ad2ded9981b46f67fd657c875e2e788cc10d12 Mon Sep 17 00:00:00 2001 From: Stefan Assmann Date: Thu, 14 Feb 2019 23:14:33 +0100 Subject: [PATCH] qcacld-2.0: disable link layer stats Link layer stats triggers firmware timeout. 02-17 21:28:32.793 390 390 E WifiHAL : wifi_get_link_stats: requestResponse Error:-7 02-17 21:28:32.805 567 1525 E WifiVendorHal: getWifiLinkLayerStats(l.937) failed {.code = ERROR_UNKNOWN, .description = , timed out} They weren't queried before pie, so deal without them. Unfortunately I didn't find a way to teach wifi HAL not to query this so the log still gets spammed with 02-19 11:31:10.316 393 393 E WifiHAL : wifi_get_link_stats: requestResponse Error:-3 02-19 11:31:10.320 568 1615 E WifiVendorHal: getWifiLinkLayerStats(l.937) failed {.code = ERROR_NOT_SUPPORTED, .description = } every few seconds. But at least it doesn't hang the device anymore. Change-Id: Ia00d19b7384605c6ee6b7b68d441a4616e9816a6 (cherry picked from commit LineageOS/android_kernel_cyanogen_msm8974@7b015700459be5171b89d0717c8639bc40b41fa0) --- drivers/staging/prima/CORE/HDD/src/wlan_hdd_cfg80211.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/staging/prima/CORE/HDD/src/wlan_hdd_cfg80211.c b/drivers/staging/prima/CORE/HDD/src/wlan_hdd_cfg80211.c index 0efeb674dca..e8c8033a26a 100644 --- a/drivers/staging/prima/CORE/HDD/src/wlan_hdd_cfg80211.c +++ b/drivers/staging/prima/CORE/HDD/src/wlan_hdd_cfg80211.c @@ -1810,7 +1810,7 @@ qca_wlan_vendor_ll_get_policy[QCA_WLAN_VENDOR_ATTR_LL_STATS_GET_MAX +1] = [QCA_WLAN_VENDOR_ATTR_LL_STATS_GET_CONFIG_REQ_MASK] = { .type = NLA_U32 }, }; -static int __wlan_hdd_cfg80211_ll_stats_get(struct wiphy *wiphy, +static int __maybe_unused __wlan_hdd_cfg80211_ll_stats_get(struct wiphy *wiphy, struct wireless_dev *wdev, const void *data, int data_len) @@ -1939,7 +1939,7 @@ static int __wlan_hdd_cfg80211_ll_stats_get(struct wiphy *wiphy, return 0; } -static int wlan_hdd_cfg80211_ll_stats_get(struct wiphy *wiphy, +static int __maybe_unused wlan_hdd_cfg80211_ll_stats_get(struct wiphy *wiphy, struct wireless_dev *wdev, const void *data, int data_len) @@ -5397,6 +5397,7 @@ const struct wiphy_vendor_command hdd_wiphy_vendor_commands[] = .doit = wlan_hdd_cfg80211_ll_stats_set }, +#if 0 /* times out firmware, lags device */ { .info.vendor_id = QCA_NL80211_VENDOR_ID, .info.subcmd = QCA_NL80211_VENDOR_SUBCMD_LL_STATS_GET, @@ -5405,6 +5406,7 @@ const struct wiphy_vendor_command hdd_wiphy_vendor_commands[] = WIPHY_VENDOR_CMD_NEED_RUNNING, .doit = wlan_hdd_cfg80211_ll_stats_get }, +#endif #endif /* WLAN_FEATURE_LINK_LAYER_STATS */ #ifdef WLAN_FEATURE_EXTSCAN {