|
@@ -580,51 +580,7 @@ void ath6kl_disconnect(struct ath6kl_vif *vif)
|
|
|
|
|
|
void ath6kl_deep_sleep_enable(struct ath6kl *ar)
|
|
|
{
|
|
|
- struct ath6kl_vif *vif;
|
|
|
-
|
|
|
- /* FIXME: for multi vif */
|
|
|
- vif = ath6kl_vif_first(ar);
|
|
|
- if (!vif) {
|
|
|
- /* save the current power mode before enabling power save */
|
|
|
- ar->wmi->saved_pwr_mode = ar->wmi->pwr_mode;
|
|
|
-
|
|
|
- if (ath6kl_wmi_powermode_cmd(ar->wmi, 0, REC_POWER) != 0)
|
|
|
- ath6kl_warn("ath6kl_deep_sleep_enable: "
|
|
|
- "wmi_powermode_cmd failed\n");
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- switch (vif->sme_state) {
|
|
|
- case SME_CONNECTING:
|
|
|
- cfg80211_connect_result(vif->ndev, vif->bssid, NULL, 0,
|
|
|
- NULL, 0,
|
|
|
- WLAN_STATUS_UNSPECIFIED_FAILURE,
|
|
|
- GFP_KERNEL);
|
|
|
- break;
|
|
|
- case SME_CONNECTED:
|
|
|
- default:
|
|
|
- /*
|
|
|
- * FIXME: oddly enough smeState is in DISCONNECTED during
|
|
|
- * suspend, why? Need to send disconnected event in that
|
|
|
- * state.
|
|
|
- */
|
|
|
- cfg80211_disconnected(vif->ndev, 0, NULL, 0, GFP_KERNEL);
|
|
|
- break;
|
|
|
- }
|
|
|
-
|
|
|
- if (test_bit(CONNECTED, &vif->flags) ||
|
|
|
- test_bit(CONNECT_PEND, &vif->flags))
|
|
|
- ath6kl_wmi_disconnect_cmd(ar->wmi, vif->fw_vif_idx);
|
|
|
-
|
|
|
- vif->sme_state = SME_DISCONNECTED;
|
|
|
-
|
|
|
- /* disable scanning */
|
|
|
- if (ath6kl_wmi_scanparams_cmd(ar->wmi, vif->fw_vif_idx, 0xFFFF, 0, 0,
|
|
|
- 0, 0, 0, 0, 0, 0, 0) != 0)
|
|
|
- printk(KERN_WARNING "ath6kl: failed to disable scan "
|
|
|
- "during suspend\n");
|
|
|
-
|
|
|
- ath6kl_cfg80211_scan_complete_event(vif, true);
|
|
|
+ ath6kl_cfg80211_stop(ar);
|
|
|
|
|
|
/* save the current power mode before enabling power save */
|
|
|
ar->wmi->saved_pwr_mode = ar->wmi->pwr_mode;
|