|
@@ -310,6 +310,7 @@ static void ath_tx_complete_buf(struct ath_softc *sc,
|
|
{
|
|
{
|
|
struct sk_buff *skb = bf->bf_mpdu;
|
|
struct sk_buff *skb = bf->bf_mpdu;
|
|
struct ath_xmit_status tx_status;
|
|
struct ath_xmit_status tx_status;
|
|
|
|
+ unsigned long flags;
|
|
|
|
|
|
/*
|
|
/*
|
|
* Set retry information.
|
|
* Set retry information.
|
|
@@ -340,9 +341,9 @@ static void ath_tx_complete_buf(struct ath_softc *sc,
|
|
/*
|
|
/*
|
|
* Return the list of ath_buf of this mpdu to free queue
|
|
* Return the list of ath_buf of this mpdu to free queue
|
|
*/
|
|
*/
|
|
- spin_lock_bh(&sc->sc_txbuflock);
|
|
|
|
|
|
+ spin_lock_irqsave(&sc->sc_txbuflock, flags);
|
|
list_splice_tail_init(bf_q, &sc->sc_txbuf);
|
|
list_splice_tail_init(bf_q, &sc->sc_txbuf);
|
|
- spin_unlock_bh(&sc->sc_txbuflock);
|
|
|
|
|
|
+ spin_unlock_irqrestore(&sc->sc_txbuflock, flags);
|
|
}
|
|
}
|
|
|
|
|
|
/*
|
|
/*
|