Search Linux Wireless

[RFC 3/3] ath9k: handle invalid/error in processing tx descriptors

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Mohammed Shafi Shajakhan <mohammed@xxxxxxxxxxxxxxxx>

for EDMA based chipsets there are few more errors/invalid conditions to
be handled when processing tx descriptors apart from descriptor
processing incomplete.
based on the commit dcfcbd590d91e8385eb554aaed419bdebaf4c72a
ENOENT error happened in ad-hoc mode during the invocation of
drv_last_beacon

Signed-off-by: Mohammed Shafi Shajakhan <mohammed@xxxxxxxxxxxxxxxx>
---
 drivers/net/wireless/ath/ath9k/main.c |    3 +++
 drivers/net/wireless/ath/ath9k/xmit.c |    2 +-
 2 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c
index c81304d..e5f366f 100644
--- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c
@@ -2341,6 +2341,9 @@ static int ath9k_tx_last_beacon(struct ieee80211_hw *hw)
 		if (status == -EINPROGRESS)
 			goto skip;
 
+		if (status == -EIO || status == -ENOENT)
+			goto skip;
+
 		sc->beacon.tx_processed = true;
 		sc->beacon.tx_last = !(ts.ts_status & ATH9K_TXERR_MASK);
 
diff --git a/drivers/net/wireless/ath/ath9k/xmit.c b/drivers/net/wireless/ath/ath9k/xmit.c
index 3182408..8330a82 100644
--- a/drivers/net/wireless/ath/ath9k/xmit.c
+++ b/drivers/net/wireless/ath/ath9k/xmit.c
@@ -2290,7 +2290,7 @@ void ath_tx_edma_tasklet(struct ath_softc *sc)
 			break;
 
 		status = ath9k_hw_txprocdesc(ah, NULL, (void *)&ts);
-		if (status == -EINPROGRESS)
+		if (status == -EINPROGRESS || status == -ENOENT)
 			break;
 		if (status == -EIO) {
 			ath_dbg(common, XMIT, "Error processing tx status\n");
-- 
1.7.0.4

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux