ath9k: Fix sparse warnings
drivers/net/wireless/ath/ath9k/init.c:199:21: warning: context imbalance in 'ath9k_reg_rmw' - different lock contexts for basic block drivers/net/wireless/ath/ath9k/xmit.c:1175:31: warning: context imbalance in 'ath_drain_txq_list' - unexpected unlock drivers/net/wireless/ath/ath9k/xmit.c:2047:23: warning: context imbalance in 'ath_tx_process_buffer' - unexpected unlock drivers/net/wireless/ath/ath9k/ar9003_eeprom.c:3041:24: warning: cast to restricted __le32 Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
0901edb758
commit
5479de6e87
@ -3039,7 +3039,7 @@ static u32 ath9k_hw_ar9300_get_eeprom(struct ath_hw *ah,
|
||||
case EEP_CHAIN_MASK_REDUCE:
|
||||
return (pBase->miscConfiguration >> 0x3) & 0x1;
|
||||
case EEP_ANT_DIV_CTL1:
|
||||
return le32_to_cpu(eep->base_ext1.ant_div_control);
|
||||
return eep->base_ext1.ant_div_control;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
|
@ -196,6 +196,19 @@ static unsigned int ath9k_ioread32(void *hw_priv, u32 reg_offset)
|
||||
return val;
|
||||
}
|
||||
|
||||
static unsigned int __ath9k_reg_rmw(struct ath_softc *sc, u32 reg_offset,
|
||||
u32 set, u32 clr)
|
||||
{
|
||||
u32 val;
|
||||
|
||||
val = ioread32(sc->mem + reg_offset);
|
||||
val &= ~clr;
|
||||
val |= set;
|
||||
iowrite32(val, sc->mem + reg_offset);
|
||||
|
||||
return val;
|
||||
}
|
||||
|
||||
static unsigned int ath9k_reg_rmw(void *hw_priv, u32 reg_offset, u32 set, u32 clr)
|
||||
{
|
||||
struct ath_hw *ah = (struct ath_hw *) hw_priv;
|
||||
@ -204,16 +217,12 @@ static unsigned int ath9k_reg_rmw(void *hw_priv, u32 reg_offset, u32 set, u32 cl
|
||||
unsigned long uninitialized_var(flags);
|
||||
u32 val;
|
||||
|
||||
if (ah->config.serialize_regmode == SER_REG_MODE_ON)
|
||||
if (ah->config.serialize_regmode == SER_REG_MODE_ON) {
|
||||
spin_lock_irqsave(&sc->sc_serial_rw, flags);
|
||||
|
||||
val = ioread32(sc->mem + reg_offset);
|
||||
val &= ~clr;
|
||||
val |= set;
|
||||
iowrite32(val, sc->mem + reg_offset);
|
||||
|
||||
if (ah->config.serialize_regmode == SER_REG_MODE_ON)
|
||||
val = __ath9k_reg_rmw(sc, reg_offset, set, clr);
|
||||
spin_unlock_irqrestore(&sc->sc_serial_rw, flags);
|
||||
} else
|
||||
val = __ath9k_reg_rmw(sc, reg_offset, set, clr);
|
||||
|
||||
return val;
|
||||
}
|
||||
|
@ -1147,6 +1147,8 @@ static bool bf_is_ampdu_not_probing(struct ath_buf *bf)
|
||||
|
||||
static void ath_drain_txq_list(struct ath_softc *sc, struct ath_txq *txq,
|
||||
struct list_head *list, bool retry_tx)
|
||||
__releases(txq->axq_lock)
|
||||
__acquires(txq->axq_lock)
|
||||
{
|
||||
struct ath_buf *bf, *lastbf;
|
||||
struct list_head bf_head;
|
||||
@ -2035,6 +2037,8 @@ static void ath_tx_rc_status(struct ath_softc *sc, struct ath_buf *bf,
|
||||
static void ath_tx_process_buffer(struct ath_softc *sc, struct ath_txq *txq,
|
||||
struct ath_tx_status *ts, struct ath_buf *bf,
|
||||
struct list_head *bf_head)
|
||||
__releases(txq->axq_lock)
|
||||
__acquires(txq->axq_lock)
|
||||
{
|
||||
int txok;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user