diff options
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/hw.c')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/hw.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c index cfa91ab7acf8..4faf0a395876 100644 --- a/drivers/net/wireless/ath/ath9k/hw.c +++ b/drivers/net/wireless/ath/ath9k/hw.c | |||
@@ -463,9 +463,6 @@ static void ath9k_hw_init_config(struct ath_hw *ah) | |||
463 | ah->config.spurchans[i][1] = AR_NO_SPUR; | 463 | ah->config.spurchans[i][1] = AR_NO_SPUR; |
464 | } | 464 | } |
465 | 465 | ||
466 | /* PAPRD needs some more work to be enabled */ | ||
467 | ah->config.paprd_disable = 1; | ||
468 | |||
469 | ah->config.rx_intr_mitigation = true; | 466 | ah->config.rx_intr_mitigation = true; |
470 | ah->config.pcieSerDesWrite = true; | 467 | ah->config.pcieSerDesWrite = true; |
471 | 468 | ||
@@ -730,6 +727,7 @@ int ath9k_hw_init(struct ath_hw *ah) | |||
730 | case AR9300_DEVID_QCA955X: | 727 | case AR9300_DEVID_QCA955X: |
731 | case AR9300_DEVID_AR9580: | 728 | case AR9300_DEVID_AR9580: |
732 | case AR9300_DEVID_AR9462: | 729 | case AR9300_DEVID_AR9462: |
730 | case AR9485_DEVID_AR1111: | ||
733 | break; | 731 | break; |
734 | default: | 732 | default: |
735 | if (common->bus_ops->ath_bus_type == ATH_USB) | 733 | if (common->bus_ops->ath_bus_type == ATH_USB) |
@@ -977,9 +975,6 @@ static void ath9k_hw_init_interrupt_masks(struct ath_hw *ah, | |||
977 | else | 975 | else |
978 | imr_reg |= AR_IMR_TXOK; | 976 | imr_reg |= AR_IMR_TXOK; |
979 | 977 | ||
980 | if (opmode == NL80211_IFTYPE_AP) | ||
981 | imr_reg |= AR_IMR_MIB; | ||
982 | |||
983 | ENABLE_REGWRITE_BUFFER(ah); | 978 | ENABLE_REGWRITE_BUFFER(ah); |
984 | 979 | ||
985 | REG_WRITE(ah, AR_IMR, imr_reg); | 980 | REG_WRITE(ah, AR_IMR, imr_reg); |
@@ -1777,6 +1772,8 @@ int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan, | |||
1777 | /* Operating channel changed, reset channel calibration data */ | 1772 | /* Operating channel changed, reset channel calibration data */ |
1778 | memset(caldata, 0, sizeof(*caldata)); | 1773 | memset(caldata, 0, sizeof(*caldata)); |
1779 | ath9k_init_nfcal_hist_buffer(ah, chan); | 1774 | ath9k_init_nfcal_hist_buffer(ah, chan); |
1775 | } else if (caldata) { | ||
1776 | caldata->paprd_packet_sent = false; | ||
1780 | } | 1777 | } |
1781 | ah->noise = ath9k_hw_getchan_noise(ah, chan); | 1778 | ah->noise = ath9k_hw_getchan_noise(ah, chan); |
1782 | 1779 | ||
@@ -2500,9 +2497,6 @@ int ath9k_hw_fill_cap_info(struct ath_hw *ah) | |||
2500 | pCap->rx_status_len = sizeof(struct ar9003_rxs); | 2497 | pCap->rx_status_len = sizeof(struct ar9003_rxs); |
2501 | pCap->tx_desc_len = sizeof(struct ar9003_txc); | 2498 | pCap->tx_desc_len = sizeof(struct ar9003_txc); |
2502 | pCap->txs_len = sizeof(struct ar9003_txs); | 2499 | pCap->txs_len = sizeof(struct ar9003_txs); |
2503 | if (!ah->config.paprd_disable && | ||
2504 | ah->eep_ops->get_eeprom(ah, EEP_PAPRD)) | ||
2505 | pCap->hw_caps |= ATH9K_HW_CAP_PAPRD; | ||
2506 | } else { | 2500 | } else { |
2507 | pCap->tx_desc_len = sizeof(struct ath_desc); | 2501 | pCap->tx_desc_len = sizeof(struct ath_desc); |
2508 | if (AR_SREV_9280_20(ah)) | 2502 | if (AR_SREV_9280_20(ah)) |