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