commit 7a253c2954dad9d70fa2e07b45b55ea4bee6c6c7
Dave,
This is a batch of fixes intended for the 3.6 stream.
Arend van Spriel sends a simple thinko fix to correct a constant,
preventing the setting of an invalid power level.
Colin Ian King gives us a simple allocation failure check to avoid a
NULL pointer dereference.
Felix Fietkau sends another ath9k tx power patch, this time disabling a
feature that has been reported to cause rx problems.
Hante Meuleman provides a pair of endian fixes for brcmfmac.
Larry Finger offers an rtlwifi fix that avoids a system lockup related
to loading the wrong firmware for RTL8188CE devices.
These have been in linux-next for a few days and I think they should be
included in the final 3.6 kernel if possible.
Please let me know if there are problems!
Thanks,
John
---
The following changes since commit 6af773e786ad617b0264ebe06ba60675c01f3e51:
pktgen: fix crash with vlan and packet size less than 46 (2012-09-13 17:10:00
-0400)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless.git for-davem
for you to fetch changes up to 7a253c2954dad9d70fa2e07b45b55ea4bee6c6c7:
Merge branch 'master' of
git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem
(2012-09-14 11:39:39 -0400)
Arend van Spriel (1):
brcmsmac: fix mismatch in number of custom regulatory rules
Colin Ian King (1):
brcm80211: fix missing allocation failure check
Felix Fietkau (1):
ath9k: make PA linearization optional, disabled by default and fix checks
Hante Meuleman (2):
brcmfmac: fix big endian bug in i-scan.
brcmfmac: Fix big endian host configuration data.
John W. Linville (1):
Merge branch 'master' of git://git.kernel.org/.../linville/wireless into
for-davem
Larry Finger (1):
rtlwifi: rtl8192ce: Log message that B_CUT device may not work
drivers/net/wireless/ath/ath9k/ar9003_eeprom.c | 4
drivers/net/wireless/ath/ath9k/debug.c | 2 ++
drivers/net/wireless/ath/ath9k/hw.c| 4
drivers/net/wireless/ath/ath9k/hw.h| 3 +--
drivers/net/wireless/ath/ath9k/link.c | 2 +-
.../net/wireless/brcm80211/brcmfmac/bcmsdh_sdmmc.c | 2 ++
.../net/wireless/brcm80211/brcmfmac/dhd_common.c | 26 +-
.../net/wireless/brcm80211/brcmfmac/wl_cfg80211.c | 6 +++--
drivers/net/wireless/brcm80211/brcmsmac/channel.c | 2 +-
drivers/net/wireless/rtlwifi/rtl8192ce/def.h | 1 +
drivers/net/wireless/rtlwifi/rtl8192ce/hw.c| 12 --
drivers/net/wireless/rtlwifi/rtl8192ce/sw.c| 6 +++--
12 files changed, 46 insertions(+), 24 deletions(-)
diff --git a/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
b/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
index 2588848..d066f25 100644
--- a/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
+++ b/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
@@ -2982,6 +2982,10 @@ static u32 ath9k_hw_ar9300_get_eeprom(struct ath_hw *ah,
case EEP_RX_MASK:
return pBase->txrxMask & 0xf;
case EEP_PAPRD:
+ if (AR_SREV_9462(ah))
+ return false;
+ if (!ah->config.enable_paprd);
+ return false;
return !!(pBase->featureEnable & BIT(5));
case EEP_CHAIN_MASK_REDUCE:
return (pBase->miscConfiguration >> 0x3) & 0x1;
diff --git a/drivers/net/wireless/ath/ath9k/debug.c
b/drivers/net/wireless/ath/ath9k/debug.c
index 68b643c..c8ef301 100644
--- a/drivers/net/wireless/ath/ath9k/debug.c
+++ b/drivers/net/wireless/ath/ath9k/debug.c
@@ -1577,6 +1577,8 @@ int ath9k_init_debug(struct ath_hw *ah)
sc->debug.debugfs_phy, sc, &fops_tx_chainmask);
debugfs_create_file("disable_ani", S_IRUSR | S_IWUSR,
sc->debug.debugfs_phy, sc, &fops_disable_ani);
+ debugfs_create_bool("paprd", S_IRUSR | S_IWUSR, sc->debug.debugfs_phy,
+ &sc->sc_ah->config.enable_paprd);
debugfs_create_file("regidx", S_IRUSR | S_IWUSR, sc->debug.debugfs_phy,
sc, &fops_regidx);
debugfs_create_file("regval", S_IRUSR | S_IWUSR, sc->debug.debugfs_phy,
diff --git a/drivers/net/wireless/ath/ath9k/hw.c
b/drivers/net/wireless/ath/ath9k/hw.c
index 48af401..4faf0a3 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -2497,10 +2497,6 @@ int ath9k_hw_fill_cap_info(struct ath_hw *ah)
pCap->rx_status_len = sizeof(struct ar9003_rxs);
pCap->tx_desc_len = sizeof(struct ar9003_txc);
pCap->txs_len = sizeof(struct ar9003_txs);
- if (!ah->config.paprd_disable &&
- ah->eep_ops->get_eeprom(ah, EEP_PAPRD) &&
- !AR_SREV_9462(ah))
- pCap