diff options
Diffstat (limited to 'drivers/net/wireless/ath')
-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/init.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 0b1dd10f1d84..0b1b88ffa497 100644 --- a/drivers/net/wireless/ath/ath9k/hw.c +++ b/drivers/net/wireless/ath/ath9k/hw.c | |||
@@ -334,7 +334,6 @@ static void ath9k_hw_init_config(struct ath_hw *ah) | |||
334 | ah->config.pcie_clock_req = 0; | 334 | ah->config.pcie_clock_req = 0; |
335 | ah->config.pcie_waen = 0; | 335 | ah->config.pcie_waen = 0; |
336 | ah->config.analog_shiftreg = 1; | 336 | ah->config.analog_shiftreg = 1; |
337 | ah->config.ht_enable = 1; | ||
338 | ah->config.ofdm_trig_low = 200; | 337 | ah->config.ofdm_trig_low = 200; |
339 | ah->config.ofdm_trig_high = 500; | 338 | ah->config.ofdm_trig_high = 500; |
340 | ah->config.cck_trig_high = 200; | 339 | ah->config.cck_trig_high = 200; |
@@ -346,6 +345,11 @@ static void ath9k_hw_init_config(struct ath_hw *ah) | |||
346 | ah->config.spurchans[i][1] = AR_NO_SPUR; | 345 | ah->config.spurchans[i][1] = AR_NO_SPUR; |
347 | } | 346 | } |
348 | 347 | ||
348 | if (ah->hw_version.devid != AR2427_DEVID_PCIE) | ||
349 | ah->config.ht_enable = 1; | ||
350 | else | ||
351 | ah->config.ht_enable = 0; | ||
352 | |||
349 | ah->config.rx_intr_mitigation = true; | 353 | ah->config.rx_intr_mitigation = true; |
350 | 354 | ||
351 | /* | 355 | /* |
@@ -542,6 +546,7 @@ static bool ath9k_hw_devid_supported(u16 devid) | |||
542 | case AR5416_DEVID_AR9287_PCI: | 546 | case AR5416_DEVID_AR9287_PCI: |
543 | case AR5416_DEVID_AR9287_PCIE: | 547 | case AR5416_DEVID_AR9287_PCIE: |
544 | case AR9271_USB: | 548 | case AR9271_USB: |
549 | case AR2427_DEVID_PCIE: | ||
545 | return true; | 550 | return true; |
546 | default: | 551 | default: |
547 | break; | 552 | break; |
diff --git a/drivers/net/wireless/ath/ath9k/hw.h b/drivers/net/wireless/ath/ath9k/hw.h index ab1f1981d857..dbbf7ca5f97d 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/init.c b/drivers/net/wireless/ath/ath9k/init.c index c3066b553546..4b5e54848683 100644 --- a/drivers/net/wireless/ath/ath9k/init.c +++ b/drivers/net/wireless/ath/ath9k/init.c | |||
@@ -620,11 +620,13 @@ void ath9k_set_hw_capab(struct ath_softc *sc, struct ieee80211_hw *hw) | |||
620 | hw->flags = IEEE80211_HW_RX_INCLUDES_FCS | | 620 | hw->flags = IEEE80211_HW_RX_INCLUDES_FCS | |
621 | IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING | | 621 | IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING | |
622 | IEEE80211_HW_SIGNAL_DBM | | 622 | IEEE80211_HW_SIGNAL_DBM | |
623 | IEEE80211_HW_AMPDU_AGGREGATION | | ||
624 | IEEE80211_HW_SUPPORTS_PS | | 623 | IEEE80211_HW_SUPPORTS_PS | |
625 | IEEE80211_HW_PS_NULLFUNC_STACK | | 624 | IEEE80211_HW_PS_NULLFUNC_STACK | |
626 | IEEE80211_HW_SPECTRUM_MGMT; | 625 | IEEE80211_HW_SPECTRUM_MGMT; |
627 | 626 | ||
627 | if (sc->sc_ah->caps.hw_caps & ATH9K_HW_CAP_HT) | ||
628 | hw->flags |= IEEE80211_HW_AMPDU_AGGREGATION; | ||
629 | |||
628 | if (AR_SREV_9160_10_OR_LATER(sc->sc_ah) || modparam_nohwcrypt) | 630 | if (AR_SREV_9160_10_OR_LATER(sc->sc_ah) || modparam_nohwcrypt) |
629 | hw->flags |= IEEE80211_HW_MFP_CAPABLE; | 631 | hw->flags |= IEEE80211_HW_MFP_CAPABLE; |
630 | 632 | ||
diff --git a/drivers/net/wireless/ath/ath9k/pci.c b/drivers/net/wireless/ath/ath9k/pci.c index f2afcbefc076..f318b3b1abe9 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 } |