summaryrefslogtreecommitdiff
path: root/package/mac80211/patches/553-ath9k-configure-RF-channel-frequency-for-AR9330.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/mac80211/patches/553-ath9k-configure-RF-channel-frequency-for-AR9330.patch')
-rw-r--r--package/mac80211/patches/553-ath9k-configure-RF-channel-frequency-for-AR9330.patch25
1 files changed, 25 insertions, 0 deletions
diff --git a/package/mac80211/patches/553-ath9k-configure-RF-channel-frequency-for-AR9330.patch b/package/mac80211/patches/553-ath9k-configure-RF-channel-frequency-for-AR9330.patch
new file mode 100644
index 0000000000..03123ac205
--- /dev/null
+++ b/package/mac80211/patches/553-ath9k-configure-RF-channel-frequency-for-AR9330.patch
@@ -0,0 +1,25 @@
+diff --git a/drivers/net/wireless/ath/ath9k/ar9003_phy.c b/drivers/net/wireless/ath/ath9k/ar9003_phy.c
+index 1194eeb..a0ca1eb 100644
+--- a/drivers/net/wireless/ath/ath9k/ar9003_phy.c
++++ b/drivers/net/wireless/ath/ath9k/ar9003_phy.c
+@@ -75,7 +75,19 @@ static int ar9003_hw_set_channel(struct ath_hw *ah, struct ath9k_channel *chan)
+ freq = centers.synth_center;
+
+ if (freq < 4800) { /* 2 GHz, fractional mode */
+- if (AR_SREV_9485(ah)) {
++ if (AR_SREV_9330(ah)) {
++ u32 chan_frac;
++ u32 div;
++
++ if (ah->is_clk_25mhz)
++ div = 75;
++ else
++ div = 120;
++
++ channelSel = (freq * 4) / div;
++ chan_frac = (((freq * 4) % div) * 0x20000) / div;
++ channelSel = (channelSel << 17) | chan_frac;
++ } else if (AR_SREV_9485(ah)) {
+ u32 chan_frac;
+
+ /*