|
@@ -57,6 +57,10 @@ static int ath9k_bt_ant_diversity;
|
|
|
module_param_named(bt_ant_diversity, ath9k_bt_ant_diversity, int, 0444);
|
|
|
MODULE_PARM_DESC(bt_ant_diversity, "Enable WLAN/BT RX antenna diversity");
|
|
|
|
|
|
+static int ath9k_ps_enable;
|
|
|
+module_param_named(ps_enable, ath9k_ps_enable, int, 0444);
|
|
|
+MODULE_PARM_DESC(ps_enable, "Enable WLAN PowerSave");
|
|
|
+
|
|
|
bool is_ath9k_unloaded;
|
|
|
/* We use the hw_value as an index into our private channel structure */
|
|
|
|
|
@@ -903,13 +907,15 @@ static void ath9k_set_hw_capab(struct ath_softc *sc, struct ieee80211_hw *hw)
|
|
|
hw->flags = IEEE80211_HW_RX_INCLUDES_FCS |
|
|
|
IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING |
|
|
|
IEEE80211_HW_SIGNAL_DBM |
|
|
|
- IEEE80211_HW_SUPPORTS_PS |
|
|
|
IEEE80211_HW_PS_NULLFUNC_STACK |
|
|
|
IEEE80211_HW_SPECTRUM_MGMT |
|
|
|
IEEE80211_HW_REPORTS_TX_ACK_STATUS |
|
|
|
IEEE80211_HW_SUPPORTS_RC_TABLE |
|
|
|
IEEE80211_HW_SUPPORTS_HT_CCK_RATES;
|
|
|
|
|
|
+ if (ath9k_ps_enable)
|
|
|
+ hw->flags |= IEEE80211_HW_SUPPORTS_PS;
|
|
|
+
|
|
|
if (sc->sc_ah->caps.hw_caps & ATH9K_HW_CAP_HT) {
|
|
|
hw->flags |= IEEE80211_HW_AMPDU_AGGREGATION;
|
|
|
|