| Index: chromeos/compat-wireless/drivers/net/wireless/ath/ath9k/main.c
|
| diff --git a/chromeos/compat-wireless/drivers/net/wireless/ath/ath9k/main.c b/chromeos/compat-wireless/drivers/net/wireless/ath/ath9k/main.c
|
| index 3caa32316e7b4567c5cbb7372aef8330b8d2a747..06d68fcc99ed73ccb47bcd534d8c37779a873986 100644
|
| --- a/chromeos/compat-wireless/drivers/net/wireless/ath/ath9k/main.c
|
| +++ b/chromeos/compat-wireless/drivers/net/wireless/ath/ath9k/main.c
|
| @@ -1556,6 +1556,8 @@ static int ath9k_config(struct ieee80211_hw *hw, u32 changed)
|
| * IEEE80211_CONF_CHANGE_PS is only passed by mac80211 for STA mode.
|
| */
|
| if (changed & IEEE80211_CONF_CHANGE_PS) {
|
| + unsigned long flags;
|
| + spin_lock_irqsave(&sc->sc_pm_lock, flags);
|
| if (conf->flags & IEEE80211_CONF_PS) {
|
| sc->ps_flags |= PS_ENABLED;
|
| /*
|
| @@ -1570,7 +1572,7 @@ static int ath9k_config(struct ieee80211_hw *hw, u32 changed)
|
| sc->ps_enabled = false;
|
| sc->ps_flags &= ~(PS_ENABLED |
|
| PS_NULLFUNC_COMPLETED);
|
| - ath9k_setpower(sc, ATH9K_PM_AWAKE);
|
| + ath9k_hw_setpower(sc->sc_ah, ATH9K_PM_AWAKE);
|
| if (!(ah->caps.hw_caps &
|
| ATH9K_HW_CAP_AUTOSLEEP)) {
|
| ath9k_hw_setrxabort(sc->sc_ah, 0);
|
| @@ -1585,6 +1587,7 @@ static int ath9k_config(struct ieee80211_hw *hw, u32 changed)
|
| }
|
| }
|
| }
|
| + spin_unlock_irqrestore(&sc->sc_pm_lock, flags);
|
| }
|
|
|
| if (changed & IEEE80211_CONF_CHANGE_MONITOR) {
|
|
|