|
@@ -268,11 +268,12 @@ int ath10k_htt_rx_ring_refill(struct ath10k *ar)
|
|
|
spin_lock_bh(&htt->rx_ring.lock);
|
|
|
ret = ath10k_htt_rx_ring_fill_n(htt, (htt->rx_ring.fill_level -
|
|
|
htt->rx_ring.fill_cnt));
|
|
|
- spin_unlock_bh(&htt->rx_ring.lock);
|
|
|
|
|
|
if (ret)
|
|
|
ath10k_htt_rx_ring_free(htt);
|
|
|
|
|
|
+ spin_unlock_bh(&htt->rx_ring.lock);
|
|
|
+
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
@@ -284,7 +285,9 @@ void ath10k_htt_rx_free(struct ath10k_htt *htt)
|
|
|
skb_queue_purge(&htt->rx_in_ord_compl_q);
|
|
|
skb_queue_purge(&htt->tx_fetch_ind_q);
|
|
|
|
|
|
+ spin_lock_bh(&htt->rx_ring.lock);
|
|
|
ath10k_htt_rx_ring_free(htt);
|
|
|
+ spin_unlock_bh(&htt->rx_ring.lock);
|
|
|
|
|
|
dma_free_coherent(htt->ar->dev,
|
|
|
ath10k_htt_get_rx_ring_size(htt),
|