summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGovind Singh <govinds@codeaurora.org>2017-08-04 16:42:49 +0530
committerGovind Singh <govinds@codeaurora.org>2017-08-04 17:06:10 +0530
commitfc27fc9bcdb9a361ef76fc38edda4aa22df78a51 (patch)
treec6931a8c9ebcf7e3c6a2f83166d807b142d9f94f
parent347dbf727762464419c5ccb5919f0c234fd38e23 (diff)
ath10k: Disconnect QMI client in case of load failure
QMI client is not disconnected if driver is failed to load due to mode response timeout. Disconnect QMI client if driver is failed to load after starting QMI services. Change-Id: I36b059fbe3254990ad6daa13533122497805e649 Signed-off-by: Govind Singh <govinds@codeaurora.org>
-rw-r--r--drivers/net/wireless/ath/ath10k/snoc.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/net/wireless/ath/ath10k/snoc.c b/drivers/net/wireless/ath/ath10k/snoc.c
index 9406b6f71a6b..59598c990e40 100644
--- a/drivers/net/wireless/ath/ath10k/snoc.c
+++ b/drivers/net/wireless/ath/ath10k/snoc.c
@@ -1274,19 +1274,19 @@ static int ath10k_snoc_probe(struct platform_device *pdev)
ret = ath10k_snoc_claim(ar);
if (ret) {
ath10k_err(ar, "failed to claim device: %d\n", ret);
- goto err_core_destroy;
+ goto err_stop_qmi_service;
}
ret = ath10k_snoc_bus_configure(ar);
if (ret) {
ath10k_err(ar, "failed to configure bus: %d\n", ret);
- goto err_core_destroy;
+ goto err_stop_qmi_service;
}
ret = ath10k_snoc_alloc_pipes(ar);
if (ret) {
ath10k_err(ar, "failed to allocate copy engine pipes: %d\n",
ret);
- goto err_core_destroy;
+ goto err_stop_qmi_service;
}
netif_napi_add(&ar->napi_dev, &ar->napi, ath10k_snoc_napi_poll,
@@ -1319,6 +1319,9 @@ err_free_irq:
err_free_pipes:
ath10k_snoc_free_pipes(ar);
+err_stop_qmi_service:
+ ath10k_snoc_stop_qmi_service(ar);
+
err_core_destroy:
ath10k_core_destroy(ar);