diff options
-rw-r--r-- | drivers/net/wireless/ath/ath9k/hw.c | 7 | ||||
-rw-r--r-- | drivers/net/wireless/ath/ath9k/hw.h | 1 | ||||
-rw-r--r-- | drivers/net/wireless/ath/ath9k/main.c | 4 | ||||
-rw-r--r-- | drivers/net/wireless/ath/ath9k/pci.c | 1 |
4 files changed, 11 insertions, 2 deletions
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c index 7c64aa521a10..66611781dd31 100644 --- a/drivers/net/wireless/ath/ath9k/hw.c +++ b/drivers/net/wireless/ath/ath9k/hw.c | |||
@@ -380,7 +380,6 @@ static void ath9k_hw_init_config(struct ath_hw *ah) | |||
380 | ah->config.pcie_clock_req = 0; | 380 | ah->config.pcie_clock_req = 0; |
381 | ah->config.pcie_waen = 0; | 381 | ah->config.pcie_waen = 0; |
382 | ah->config.analog_shiftreg = 1; | 382 | ah->config.analog_shiftreg = 1; |
383 | ah->config.ht_enable = 1; | ||
384 | ah->config.ofdm_trig_low = 200; | 383 | ah->config.ofdm_trig_low = 200; |
385 | ah->config.ofdm_trig_high = 500; | 384 | ah->config.ofdm_trig_high = 500; |
386 | ah->config.cck_trig_high = 200; | 385 | ah->config.cck_trig_high = 200; |
@@ -392,6 +391,11 @@ static void ath9k_hw_init_config(struct ath_hw *ah) | |||
392 | ah->config.spurchans[i][1] = AR_NO_SPUR; | 391 | ah->config.spurchans[i][1] = AR_NO_SPUR; |
393 | } | 392 | } |
394 | 393 | ||
394 | if (ah->hw_version.devid != AR2427_DEVID_PCIE) | ||
395 | ah->config.ht_enable = 1; | ||
396 | else | ||
397 | ah->config.ht_enable = 0; | ||
398 | |||
395 | ah->config.intr_mitigation = true; | 399 | ah->config.intr_mitigation = true; |
396 | 400 | ||
397 | /* | 401 | /* |
@@ -590,6 +594,7 @@ static bool ath9k_hw_devid_supported(u16 devid) | |||
590 | case AR5416_DEVID_AR9287_PCI: | 594 | case AR5416_DEVID_AR9287_PCI: |
591 | case AR5416_DEVID_AR9287_PCIE: | 595 | case AR5416_DEVID_AR9287_PCIE: |
592 | case AR9271_USB: | 596 | case AR9271_USB: |
597 | case AR2427_DEVID_PCIE: | ||
593 | return true; | 598 | return true; |
594 | default: | 599 | default: |
595 | break; | 600 | break; |
diff --git a/drivers/net/wireless/ath/ath9k/hw.h b/drivers/net/wireless/ath/ath9k/hw.h index e2b0c73a616f..33a28ec277e4 100644 --- a/drivers/net/wireless/ath/ath9k/hw.h +++ b/drivers/net/wireless/ath/ath9k/hw.h | |||
@@ -40,6 +40,7 @@ | |||
40 | #define AR9280_DEVID_PCI 0x0029 | 40 | #define AR9280_DEVID_PCI 0x0029 |
41 | #define AR9280_DEVID_PCIE 0x002a | 41 | #define AR9280_DEVID_PCIE 0x002a |
42 | #define AR9285_DEVID_PCIE 0x002b | 42 | #define AR9285_DEVID_PCIE 0x002b |
43 | #define AR2427_DEVID_PCIE 0x002c | ||
43 | 44 | ||
44 | #define AR5416_AR9100_DEVID 0x000b | 45 | #define AR5416_AR9100_DEVID 0x000b |
45 | 46 | ||
diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c index 4faafbde1d0b..958d9e85fbac 100644 --- a/drivers/net/wireless/ath/ath9k/main.c +++ b/drivers/net/wireless/ath/ath9k/main.c | |||
@@ -1854,11 +1854,13 @@ void ath_set_hw_capab(struct ath_softc *sc, struct ieee80211_hw *hw) | |||
1854 | hw->flags = IEEE80211_HW_RX_INCLUDES_FCS | | 1854 | hw->flags = IEEE80211_HW_RX_INCLUDES_FCS | |
1855 | IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING | | 1855 | IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING | |
1856 | IEEE80211_HW_SIGNAL_DBM | | 1856 | IEEE80211_HW_SIGNAL_DBM | |
1857 | IEEE80211_HW_AMPDU_AGGREGATION | | ||
1858 | IEEE80211_HW_SUPPORTS_PS | | 1857 | IEEE80211_HW_SUPPORTS_PS | |
1859 | IEEE80211_HW_PS_NULLFUNC_STACK | | 1858 | IEEE80211_HW_PS_NULLFUNC_STACK | |
1860 | IEEE80211_HW_SPECTRUM_MGMT; | 1859 | IEEE80211_HW_SPECTRUM_MGMT; |
1861 | 1860 | ||
1861 | if (sc->sc_ah->caps.hw_caps & ATH9K_HW_CAP_HT) | ||
1862 | hw->flags |= IEEE80211_HW_AMPDU_AGGREGATION; | ||
1863 | |||
1862 | if (AR_SREV_9160_10_OR_LATER(sc->sc_ah) || modparam_nohwcrypt) | 1864 | if (AR_SREV_9160_10_OR_LATER(sc->sc_ah) || modparam_nohwcrypt) |
1863 | hw->flags |= IEEE80211_HW_MFP_CAPABLE; | 1865 | hw->flags |= IEEE80211_HW_MFP_CAPABLE; |
1864 | 1866 | ||
diff --git a/drivers/net/wireless/ath/ath9k/pci.c b/drivers/net/wireless/ath/ath9k/pci.c index f7af5ea54753..199c54aefa01 100644 --- a/drivers/net/wireless/ath/ath9k/pci.c +++ b/drivers/net/wireless/ath/ath9k/pci.c | |||
@@ -25,6 +25,7 @@ static struct pci_device_id ath_pci_id_table[] __devinitdata = { | |||
25 | { PCI_VDEVICE(ATHEROS, 0x0029) }, /* PCI */ | 25 | { PCI_VDEVICE(ATHEROS, 0x0029) }, /* PCI */ |
26 | { PCI_VDEVICE(ATHEROS, 0x002A) }, /* PCI-E */ | 26 | { PCI_VDEVICE(ATHEROS, 0x002A) }, /* PCI-E */ |
27 | { PCI_VDEVICE(ATHEROS, 0x002B) }, /* PCI-E */ | 27 | { PCI_VDEVICE(ATHEROS, 0x002B) }, /* PCI-E */ |
28 | { PCI_VDEVICE(ATHEROS, 0x002C) }, /* PCI-E 802.11n bonded out */ | ||
28 | { PCI_VDEVICE(ATHEROS, 0x002D) }, /* PCI */ | 29 | { PCI_VDEVICE(ATHEROS, 0x002D) }, /* PCI */ |
29 | { PCI_VDEVICE(ATHEROS, 0x002E) }, /* PCI-E */ | 30 | { PCI_VDEVICE(ATHEROS, 0x002E) }, /* PCI-E */ |
30 | { 0 } | 31 | { 0 } |