Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 98f0a5eb authored by Mohammed Shafi Shajakhan's avatar Mohammed Shafi Shajakhan Committed by John W. Linville
Browse files

ath9k: tx queue enable is read only for EDMA chipsets



for EDMA chip AR_Q_TXE (tx enable for each queue) is read only

Signed-off-by: default avatarMohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 7fbaf3ef
Loading
Loading
Loading
Loading
+5 −2
Original line number Original line Diff line number Diff line
@@ -356,6 +356,7 @@ void ath_beacon_tasklet(unsigned long data)
	struct ath_buf *bf = NULL;
	struct ath_buf *bf = NULL;
	struct ieee80211_vif *vif;
	struct ieee80211_vif *vif;
	struct ath_tx_status ts;
	struct ath_tx_status ts;
	bool edma = !!(ah->caps.hw_caps & ATH9K_HW_CAP_EDMA);
	int slot;
	int slot;
	u32 bfaddr, bc = 0;
	u32 bfaddr, bc = 0;


@@ -456,10 +457,12 @@ void ath_beacon_tasklet(unsigned long data)
	if (bfaddr != 0) {
	if (bfaddr != 0) {
		/* NB: cabq traffic should already be queued and primed */
		/* NB: cabq traffic should already be queued and primed */
		ath9k_hw_puttxbuf(ah, sc->beacon.beaconq, bfaddr);
		ath9k_hw_puttxbuf(ah, sc->beacon.beaconq, bfaddr);

		if (!edma)
			ath9k_hw_txstart(ah, sc->beacon.beaconq);
			ath9k_hw_txstart(ah, sc->beacon.beaconq);


		sc->beacon.ast_be_xmit += bc;     /* XXX per-vif? */
		sc->beacon.ast_be_xmit += bc;     /* XXX per-vif? */
		if (ah->caps.hw_caps & ATH9K_HW_CAP_EDMA) {
		if (edma) {
			spin_lock_bh(&sc->sc_pcu_lock);
			spin_lock_bh(&sc->sc_pcu_lock);
			ath9k_hw_txprocdesc(ah, bf->bf_desc, (void *)&ts);
			ath9k_hw_txprocdesc(ah, bf->bf_desc, (void *)&ts);
			spin_unlock_bh(&sc->sc_pcu_lock);
			spin_unlock_bh(&sc->sc_pcu_lock);