Closed pfiser closed 5 years ago
Replaying to myself :)
Here is a solution:
Author: Primoz Fiser <primoz.fiser@norik.com>
Date: Tue Aug 27 17:26:17 2019 +0200
Disable caldata prefetch for SDIO bus
- when enabled on iMX6 platform we get:
mmc0: Timeout waiting for hardware interrupt.
if we try to disable wireless interface with:
ifconfig wlan0 down
Afterwards, the wireless interface & SDIO bus are
left unresponsive and cannot be easily brought back
to operation.
diff --git a/drivers/net/wireless/ath/ath10k/debug.c b/drivers/net/wireless/ath/ath10k/debug.c
index 6942cd2..81f738a 100644
--- a/drivers/net/wireless/ath/ath10k/debug.c
+++ b/drivers/net/wireless/ath/ath10k/debug.c
@@ -1255,6 +1255,9 @@ static int ath10k_debug_cal_data_fetch(struct ath10k *ar)
if (ar->hw_params.cal_data_len == 0)
return -EOPNOTSUPP;
+ if (ar->hif.bus == ATH10K_BUS_SDIO)
+ return -EINVAL;
+
hi_addr = host_interest_item_address(HI_ITEM(hi_board_data));
ret = ath10k_hif_diag_read(ar, hi_addr, &addr, sizeof(addr));
I guess disabling caldata prefetch on SDIO bus interfaces fixes the problem.
Hi,
I have a iMX6 platform with Silex SX-SDMAC (QCA9377) WiFi adapter connected over SDIO bus. The card is correctly recognised by the MMC subsystem:
I am using kernel 4.14.39 (LTS). I have built ath10k SDIO drivers by using backports-5.2-stable and ported patches from this repository (branch v5.2-ath10k-sdio) to support HL (SDIO/USB).
When I insert modules I get:
However, as soon as I try to disable interface by doing 'ifconfig wlan0 down' I get:
Looks like the ath10k_sdio driver forgets to disable the SDIO interrupts and host controller complains about the timeout?
My device-tree for the MMC port:
Could @erstrom or @alagusankar help with this?
Is this expected in current state of experimental ath10k SDIO support?