ath9k: fix crash issues caused by the ar9300 support patch
SVN-Revision: 20887
This commit is contained in:
parent
14428874ae
commit
28718f2d5f
7 changed files with 753 additions and 602 deletions
File diff suppressed because it is too large
Load diff
|
@ -8,7 +8,7 @@
|
|||
#include <asm/unaligned.h>
|
||||
|
||||
#include "hw.h"
|
||||
@@ -431,8 +432,16 @@ static int ath9k_hw_init_macaddr(struct
|
||||
@@ -440,8 +441,16 @@ static int ath9k_hw_init_macaddr(struct
|
||||
common->macaddr[2 * i] = eeval >> 8;
|
||||
common->macaddr[2 * i + 1] = eeval & 0xff;
|
||||
}
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
common->bus_ops = bus_ops;
|
||||
--- a/drivers/net/wireless/ath/ath9k/hw.c
|
||||
+++ b/drivers/net/wireless/ath/ath9k/hw.c
|
||||
@@ -404,10 +404,6 @@ static void ath9k_hw_init_defaults(struc
|
||||
@@ -413,10 +413,6 @@ static void ath9k_hw_init_defaults(struc
|
||||
ah->hw_version.magic = AR5416_MAGIC;
|
||||
ah->hw_version.subvendorid = 0;
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#include "hw.h"
|
||||
#include "hw-ops.h"
|
||||
#include "rc.h"
|
||||
@@ -416,18 +418,23 @@ static void ath9k_hw_init_defaults(struc
|
||||
@@ -425,18 +427,23 @@ static void ath9k_hw_init_defaults(struc
|
||||
static int ath9k_hw_init_macaddr(struct ath_hw *ah)
|
||||
{
|
||||
struct ath_common *common = ath9k_hw_common(ah);
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/drivers/net/wireless/ath/ath9k/hw.c
|
||||
+++ b/drivers/net/wireless/ath/ath9k/hw.c
|
||||
@@ -1298,7 +1298,7 @@ int ath9k_hw_reset(struct ath_hw *ah, st
|
||||
@@ -1303,7 +1303,7 @@ int ath9k_hw_reset(struct ath_hw *ah, st
|
||||
|
||||
if (ah->config.rx_intr_mitigation) {
|
||||
REG_RMW_FIELD(ah, AR_RIMT, AR_RIMT_LAST, 500);
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/drivers/net/wireless/ath/ath9k/hw.c
|
||||
+++ b/drivers/net/wireless/ath/ath9k/hw.c
|
||||
@@ -1131,6 +1131,34 @@ static bool ath9k_hw_channel_change(stru
|
||||
@@ -1136,6 +1136,34 @@ static bool ath9k_hw_channel_change(stru
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -37,7 +37,7 @@
|
|||
{
|
||||
--- a/drivers/net/wireless/ath/ath9k/hw.h
|
||||
+++ b/drivers/net/wireless/ath/ath9k/hw.h
|
||||
@@ -846,6 +846,7 @@ void ath9k_hw_set11nmac2040(struct ath_h
|
||||
@@ -851,6 +851,7 @@ void ath9k_hw_set11nmac2040(struct ath_h
|
||||
void ath9k_hw_beaconinit(struct ath_hw *ah, u32 next_beacon, u32 beacon_period);
|
||||
void ath9k_hw_set_sta_beacon_timers(struct ath_hw *ah,
|
||||
const struct ath9k_beacon_state *bs);
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/drivers/net/wireless/ath/ath9k/xmit.c
|
||||
+++ b/drivers/net/wireless/ath/ath9k/xmit.c
|
||||
@@ -260,19 +260,40 @@ static void ath_tx_set_retry(struct ath_
|
||||
@@ -261,19 +261,40 @@ static void ath_tx_set_retry(struct ath_
|
||||
hdr->frame_control |= cpu_to_le16(IEEE80211_FCTL_RETRY);
|
||||
}
|
||||
|
||||
|
@ -46,7 +46,7 @@
|
|||
ATH_TXBUF_RESET(tbf);
|
||||
|
||||
tbf->aphy = bf->aphy;
|
||||
@@ -1084,9 +1105,7 @@ void ath_draintxq(struct ath_softc *sc,
|
||||
@@ -1081,9 +1102,7 @@ void ath_draintxq(struct ath_softc *sc,
|
||||
list_del(&bf->list);
|
||||
spin_unlock_bh(&txq->axq_lock);
|
||||
|
||||
|
@ -57,7 +57,7 @@
|
|||
continue;
|
||||
}
|
||||
}
|
||||
@@ -1306,25 +1325,6 @@ static void ath_tx_txqaddbuf(struct ath_
|
||||
@@ -1325,25 +1344,6 @@ static void ath_tx_txqaddbuf(struct ath_
|
||||
txq->axq_depth++;
|
||||
}
|
||||
|
||||
|
@ -83,7 +83,7 @@
|
|||
static void ath_tx_send_ampdu(struct ath_softc *sc, struct ath_atx_tid *tid,
|
||||
struct list_head *bf_head,
|
||||
struct ath_tx_control *txctl)
|
||||
@@ -1806,9 +1806,7 @@ int ath_tx_start(struct ieee80211_hw *hw
|
||||
@@ -1825,9 +1825,7 @@ int ath_tx_start(struct ieee80211_hw *hw
|
||||
}
|
||||
spin_unlock_bh(&txq->axq_lock);
|
||||
|
||||
|
@ -94,7 +94,7 @@
|
|||
|
||||
return r;
|
||||
}
|
||||
@@ -2122,13 +2120,12 @@ static void ath_tx_processq(struct ath_s
|
||||
@@ -2141,13 +2139,12 @@ static void ath_tx_processq(struct ath_s
|
||||
txq->axq_depth--;
|
||||
txok = !(ts.ts_status & ATH9K_TXERR_MASK);
|
||||
txq->axq_tx_inprogress = false;
|
||||
|
|
Loading…
Reference in a new issue