mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-20 19:23:57 +08:00
ath9k_hw: Do full chip reset on 11A channels for AR9003
AR9003 seems to have issues sometimes with fast channel change in 5GHz and this case is handled specifically for AR9280 by doing a full reset. Let's do a full reset for 5GHz channles of AR9380 & for all channels of AR9280 pci chips. Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
b54af8af49
commit
7db062ac4b
@ -1499,14 +1499,16 @@ int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan,
|
|||||||
}
|
}
|
||||||
ah->noise = ath9k_hw_getchan_noise(ah, chan);
|
ah->noise = ath9k_hw_getchan_noise(ah, chan);
|
||||||
|
|
||||||
|
if ((AR_SREV_9280(ah) && common->bus_ops->ath_bus_type == ATH_PCI) ||
|
||||||
|
(AR_SREV_9300_20_OR_LATER(ah) && IS_CHAN_5GHZ(chan)))
|
||||||
|
bChannelChange = false;
|
||||||
|
|
||||||
if (bChannelChange &&
|
if (bChannelChange &&
|
||||||
(ah->chip_fullsleep != true) &&
|
(ah->chip_fullsleep != true) &&
|
||||||
(ah->curchan != NULL) &&
|
(ah->curchan != NULL) &&
|
||||||
(chan->channel != ah->curchan->channel) &&
|
(chan->channel != ah->curchan->channel) &&
|
||||||
((chan->channelFlags & CHANNEL_ALL) ==
|
((chan->channelFlags & CHANNEL_ALL) ==
|
||||||
(ah->curchan->channelFlags & CHANNEL_ALL)) &&
|
(ah->curchan->channelFlags & CHANNEL_ALL))) {
|
||||||
(!AR_SREV_9280(ah) || AR_DEVID_7010(ah))) {
|
|
||||||
|
|
||||||
if (ath9k_hw_channel_change(ah, chan)) {
|
if (ath9k_hw_channel_change(ah, chan)) {
|
||||||
ath9k_hw_loadnf(ah, ah->curchan);
|
ath9k_hw_loadnf(ah, ah->curchan);
|
||||||
ath9k_hw_start_nfcal(ah, true);
|
ath9k_hw_start_nfcal(ah, true);
|
||||||
|
Loading…
Reference in New Issue
Block a user