On Tue, Aug 30, 2011 at 11:39 AM, Felix Fietkau <nbd@xxxxxxxxxxx> wrote: > On 2011-08-30 7:57 AM, Mohammed Shafi wrote: >> >> On Tue, Aug 30, 2011 at 12:10 AM, Felix Fietkau<nbd@xxxxxxxxxxx> wrote: >>> >>> This makes it much easier to add further rework to avoid race conditions >>> between reset and other work items. >>> Move other functions to make ath_reset static. >>> >>> Signed-off-by: Felix Fietkau<nbd@xxxxxxxxxxx> >>> --- >>> drivers/net/wireless/ath/ath9k/ath9k.h | 3 +- >>> drivers/net/wireless/ath/ath9k/beacon.c | 4 +- >>> drivers/net/wireless/ath/ath9k/init.c | 1 + >>> drivers/net/wireless/ath/ath9k/main.c | 152 >>> ++++++++++++++++--------------- >>> drivers/net/wireless/ath/ath9k/xmit.c | 6 +- >>> 5 files changed, 86 insertions(+), 80 deletions(-) >>> >>> diff --git a/drivers/net/wireless/ath/ath9k/xmit.c >>> b/drivers/net/wireless/ath/ath9k/xmit.c >>> index 49b93c2..f60706b 100644 >>> --- a/drivers/net/wireless/ath/ath9k/xmit.c >>> +++ b/drivers/net/wireless/ath/ath9k/xmit.c >>> @@ -582,7 +582,7 @@ static void ath_tx_complete_aggr(struct ath_softc >>> *sc, struct ath_txq *txq, >>> rcu_read_unlock(); >>> >>> if (needreset) >>> - ath_reset(sc, false); >>> + ieee80211_queue_work(sc->hw,&sc->hw_reset_work); >> >> Hi Felix, >> >> retry_tx is set to 'false' in ath_reset here, but ath_reset_work >> always has it true. had i missed some thing? > > Since the reset work is deferred now, it can be allowed to retry tx now > instead of dropping all packets in the queue. oh ok, in this path we need reset when the chip becomes deaf/mute(as mentioned in the comment), so i am not sure retrying tx will help rather than doing immediate reset of the chip. thanks. > > - Felix > -- shafi -- 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