Changeset 29155


Ignore:
Timestamp:
2011-11-15T15:53:21+01:00 (6 years ago)
Author:
nbd
Message:

ath9k: reorganize patches, reset hardware after full sleep (fixes #10349)

Location:
trunk/package/mac80211/patches
Files:
1 added
2 deleted
2 moved

Legend:

Unmodified
Added
Removed
  • trunk/package/mac80211/patches/561-ath9k_fix_ps_idle_handling.patch

    r29152 r29155  
    11--- a/drivers/net/wireless/ath/ath9k/main.c 
    22+++ b/drivers/net/wireless/ath/ath9k/main.c 
    3 @@ -880,82 +880,6 @@ chip_reset: 
     3@@ -883,82 +883,6 @@ chip_reset: 
    44 #undef SCHED_INTR 
    55 } 
     
    8484 { 
    8585        int r; 
    86 @@ -1091,6 +1015,9 @@ static int ath9k_start(struct ieee80211_ 
     86@@ -1094,6 +1018,9 @@ static int ath9k_start(struct ieee80211_ 
    8787         * and then setup of the interrupt mask. 
    8888         */ 
     
    9494        if (r) { 
    9595                ath_err(common, 
    96 @@ -1129,6 +1056,16 @@ static int ath9k_start(struct ieee80211_ 
     96@@ -1132,6 +1059,18 @@ static int ath9k_start(struct ieee80211_ 
    9797                goto mutex_unlock; 
    9898        } 
    9999  
    100 +       ath9k_hw_cfg_output(ah, ah->led_pin, 
    101 +                           AR_GPIO_OUTPUT_MUX_AS_OUTPUT); 
    102 +       ath9k_hw_set_gpio(ah, ah->led_pin, 0); 
     100+       if (ah->led_pin >= 0) { 
     101+               ath9k_hw_cfg_output(ah, ah->led_pin, 
     102+                                   AR_GPIO_OUTPUT_MUX_AS_OUTPUT); 
     103+               ath9k_hw_set_gpio(ah, ah->led_pin, 0); 
     104+       } 
    103105+ 
    104106+       /* 
     
    111113  
    112114        if ((ah->btcoex_hw.scheme != ATH_BTCOEX_CFG_NONE) && 
    113 @@ -1248,33 +1185,39 @@ static void ath9k_stop(struct ieee80211_ 
     115@@ -1229,6 +1168,7 @@ static void ath9k_stop(struct ieee80211_ 
     116        struct ath_softc *sc = hw->priv; 
     117        struct ath_hw *ah = sc->sc_ah; 
     118        struct ath_common *common = ath9k_hw_common(ah); 
     119+       bool prev_idle; 
     120  
     121        mutex_lock(&sc->mutex); 
     122  
     123@@ -1258,35 +1198,45 @@ static void ath9k_stop(struct ieee80211_ 
    114124         * before setting the invalid flag. */ 
    115125        ath9k_hw_disable_interrupts(ah); 
     
    129139+       tasklet_kill(&sc->bcon_tasklet); 
    130140+ 
     141+       prev_idle = sc->ps_idle; 
    131142+       sc->ps_idle = true; 
    132143+ 
    133144+       spin_lock_bh(&sc->sc_pcu_lock); 
    134145+ 
    135 +       ath9k_hw_set_gpio(ah, ah->led_pin, 1); 
    136 +       ath9k_hw_cfg_gpio_input(ah, ah->led_pin); 
     146+       if (ah->led_pin >= 0) { 
     147+               ath9k_hw_set_gpio(ah, ah->led_pin, 1); 
     148+               ath9k_hw_cfg_gpio_input(ah, ah->led_pin); 
     149+       } 
    137150+ 
    138151+       ath_prepare_reset(sc, false, true); 
     
    167180  
    168181        sc->sc_flags |= SC_OP_INVALID; 
    169   
    170 @@ -1598,8 +1541,8 @@ static int ath9k_config(struct ieee80211 
     182+       sc->ps_idle = prev_idle; 
     183  
     184        mutex_unlock(&sc->mutex); 
     185  
     186@@ -1608,8 +1558,8 @@ static int ath9k_config(struct ieee80211 
    171187        struct ath_hw *ah = sc->sc_ah; 
    172188        struct ath_common *common = ath9k_hw_common(ah); 
     
    178194  
    179195        /* 
    180 @@ -1608,16 +1551,8 @@ static int ath9k_config(struct ieee80211 
     196@@ -1618,16 +1568,8 @@ static int ath9k_config(struct ieee80211 
    181197         * of the changes. Likewise we must only disable the radio towards 
    182198         * the end. 
     
    196212        /* 
    197213         * We just prepare to enable PS. We have to wait until our AP has 
    198 @@ -1742,19 +1677,13 @@ static int ath9k_config(struct ieee80211 
     214@@ -1752,19 +1694,13 @@ static int ath9k_config(struct ieee80211 
    199215                ath_dbg(common, ATH_DBG_CONFIG, 
    200216                        "Set power: %d\n", conf->power_level); 
  • trunk/package/mac80211/patches/562-ath9k_fix_flush.patch

    r29152 r29155  
    11--- a/drivers/net/wireless/ath/ath9k/main.c 
    22+++ b/drivers/net/wireless/ath/ath9k/main.c 
    3 @@ -2251,9 +2251,6 @@ static void ath9k_flush(struct ieee80211 
     3@@ -2268,9 +2268,6 @@ static void ath9k_flush(struct ieee80211 
    44                return; 
    55        } 
     
    1111                bool npend = false; 
    1212  
    13 @@ -2271,21 +2268,22 @@ static void ath9k_flush(struct ieee80211 
     13@@ -2288,21 +2285,22 @@ static void ath9k_flush(struct ieee80211 
    1414                } 
    1515  
Note: See TracChangeset for help on using the changeset viewer.