aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/328-ath10k-log-when-longer-bmi-cmds-happen.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/kernel/mac80211/patches/328-ath10k-log-when-longer-bmi-cmds-happen.patch')
-rw-r--r--package/kernel/mac80211/patches/328-ath10k-log-when-longer-bmi-cmds-happen.patch74
1 files changed, 0 insertions, 74 deletions
diff --git a/package/kernel/mac80211/patches/328-ath10k-log-when-longer-bmi-cmds-happen.patch b/package/kernel/mac80211/patches/328-ath10k-log-when-longer-bmi-cmds-happen.patch
deleted file mode 100644
index 500f72ff98..0000000000
--- a/package/kernel/mac80211/patches/328-ath10k-log-when-longer-bmi-cmds-happen.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From: Ben Greear <greearb@candelatech.com>
-Date: Wed, 31 May 2017 14:21:21 +0300
-Subject: [PATCH] ath10k: log when longer bmi cmds happen
-
-This lets one have a clue that maybe timeouts are happening
-when we just aren't waiting long enough.
-
-Signed-off-by: Ben Greear <greearb@candelatech.com>
-Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
----
-
---- a/drivers/net/wireless/ath/ath10k/pci.c
-+++ b/drivers/net/wireless/ath/ath10k/pci.c
-@@ -101,7 +101,8 @@ static int ath10k_pci_init_irq(struct at
- static int ath10k_pci_deinit_irq(struct ath10k *ar);
- static int ath10k_pci_request_irq(struct ath10k *ar);
- static void ath10k_pci_free_irq(struct ath10k *ar);
--static int ath10k_pci_bmi_wait(struct ath10k_ce_pipe *tx_pipe,
-+static int ath10k_pci_bmi_wait(struct ath10k *ar,
-+ struct ath10k_ce_pipe *tx_pipe,
- struct ath10k_ce_pipe *rx_pipe,
- struct bmi_xfer *xfer);
- static int ath10k_pci_qca99x0_chip_reset(struct ath10k *ar);
-@@ -1843,7 +1844,7 @@ int ath10k_pci_hif_exchange_bmi_msg(stru
- if (ret)
- goto err_resp;
-
-- ret = ath10k_pci_bmi_wait(ce_tx, ce_rx, &xfer);
-+ ret = ath10k_pci_bmi_wait(ar, ce_tx, ce_rx, &xfer);
- if (ret) {
- u32 unused_buffer;
- unsigned int unused_nbytes;
-@@ -1910,23 +1911,37 @@ static void ath10k_pci_bmi_recv_data(str
- xfer->rx_done = true;
- }
-
--static int ath10k_pci_bmi_wait(struct ath10k_ce_pipe *tx_pipe,
-+static int ath10k_pci_bmi_wait(struct ath10k *ar,
-+ struct ath10k_ce_pipe *tx_pipe,
- struct ath10k_ce_pipe *rx_pipe,
- struct bmi_xfer *xfer)
- {
- unsigned long timeout = jiffies + BMI_COMMUNICATION_TIMEOUT_HZ;
-+ unsigned long started = jiffies;
-+ unsigned long dur;
-+ int ret;
-
- while (time_before_eq(jiffies, timeout)) {
- ath10k_pci_bmi_send_done(tx_pipe);
- ath10k_pci_bmi_recv_data(rx_pipe);
-
-- if (xfer->tx_done && (xfer->rx_done == xfer->wait_for_resp))
-- return 0;
-+ if (xfer->tx_done && (xfer->rx_done == xfer->wait_for_resp)) {
-+ ret = 0;
-+ goto out;
-+ }
-
- schedule();
- }
-
-- return -ETIMEDOUT;
-+ ret = -ETIMEDOUT;
-+
-+out:
-+ dur = jiffies - started;
-+ if (dur > HZ)
-+ ath10k_dbg(ar, ATH10K_DBG_BMI,
-+ "bmi cmd took %lu jiffies hz %d ret %d\n",
-+ dur, HZ, ret);
-+ return ret;
- }
-
- /*