summaryrefslogtreecommitdiff
path: root/drivers/net
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@quicinc.com>2017-05-11 06:48:12 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2017-05-11 06:48:12 -0700
commit33a48f3f456377693d90a522ce0d96155ea43d79 (patch)
tree8c8a9cbb91c0df950b91cbc57de7e82af5b2c013 /drivers/net
parentf87cdfa943e4ed9381526eec5090f611ca9e7689 (diff)
parente8397c272facf7e7f2973d0dbb06214e24eac327 (diff)
Merge "ath10k: cancel the event work in wlan snoc driver module remove"
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/wireless/ath/ath10k/qmi.c5
-rw-r--r--drivers/net/wireless/ath/ath10k/snoc.c4
2 files changed, 6 insertions, 3 deletions
diff --git a/drivers/net/wireless/ath/ath10k/qmi.c b/drivers/net/wireless/ath/ath10k/qmi.c
index 9bab797dcdbc..10223605b027 100644
--- a/drivers/net/wireless/ath/ath10k/qmi.c
+++ b/drivers/net/wireless/ath/ath10k/qmi.c
@@ -888,12 +888,13 @@ void ath10k_snoc_stop_qmi_service(struct ath10k *ar)
ath10k_dbg(ar, ATH10K_DBG_SNOC, "Removing QMI service..\n");
+ wake_up_all(&ath10k_fw_ready_wait_event);
+ cancel_work_sync(&qmi_cfg->event_work);
+ cancel_work_sync(&qmi_cfg->qmi_recv_msg_work);
qmi_svc_event_notifier_unregister(WLFW_SERVICE_ID_V01,
WLFW_SERVICE_VERS_V01,
WLFW_SERVICE_INS_ID_V01,
&qmi_cfg->wlfw_clnt_nb);
-
- wake_up_all(&ath10k_fw_ready_wait_event);
destroy_workqueue(qmi_cfg->event_wq);
qmi_cfg = NULL;
}
diff --git a/drivers/net/wireless/ath/ath10k/snoc.c b/drivers/net/wireless/ath/ath10k/snoc.c
index 08618cedf775..0cc98e45b65c 100644
--- a/drivers/net/wireless/ath/ath10k/snoc.c
+++ b/drivers/net/wireless/ath/ath10k/snoc.c
@@ -1146,8 +1146,10 @@ static int ath10k_snoc_hif_power_up(struct ath10k *ar)
if (ar->state == ATH10K_STATE_ON ||
test_bit(ATH10K_FLAG_CRASH_FLUSH, &ar->dev_flags)) {
ret = ath10k_snoc_bus_configure(ar);
- if (ret)
+ if (ret) {
ath10k_err(ar, "failed to configure bus: %d\n", ret);
+ return ret;
+ }
}
ret = ath10k_snoc_init_pipes(ar);
if (ret) {