Return-path: Received: from mail.atheros.com ([12.19.149.2]:46824 "EHLO mail.atheros.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750911Ab1EIJjN (ORCPT ); Mon, 9 May 2011 05:39:13 -0400 Received: from mail.atheros.com ([10.10.20.108]) by sidewinder.atheros.com for ; Mon, 09 May 2011 02:38:45 -0700 Message-ID: <4DC7B63B.5030209@atheros.com> (sfid-20110509_113917_334788_DFC5C3EF) Date: Mon, 9 May 2011 15:09:07 +0530 From: Mohammed Shafi MIME-Version: 1.0 To: Vasanth Thiagarajan CC: Mohammed Shajakhan , "linux-wireless@vger.kernel.org" , "ath9k-devel@lists.ath9k.org" Subject: Re: [RFC] ath9k: make npending frames check as bool References: <1304697291-6850-1-git-send-email-mshajakhan@atheros.com> <20110506161541.GB6002@vasanth-laptop> <4DC76DD9.5010000@atheros.com> <20110509092854.GC17465@vasanth-laptop> In-Reply-To: <20110509092854.GC17465@vasanth-laptop> Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Sender: linux-wireless-owner@vger.kernel.org List-ID: On Monday 09 May 2011 02:58 PM, Vasanth Thiagarajan wrote: > On Mon, May 09, 2011 at 10:00:17AM +0530, Mohammed Shajakhan wrote: >> On Friday 06 May 2011 09:45 PM, Vasanth Thiagarajan wrote: >>> On Fri, May 06, 2011 at 09:24:51PM +0530, Mohammed Shafi Shajakhan wrote: >>>> From: Mohammed Shafi Shajakhan >>>> >>>> Signed-off-by: Mohammed Shafi Shajakhan >>>> --- >>>> drivers/net/wireless/ath/ath9k/main.c | 7 +++++-- >>>> 1 files changed, 5 insertions(+), 2 deletions(-) >>>> >>>> diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c >>>> index 3de115d..2b78ea2 100644 >>>> --- a/drivers/net/wireless/ath/ath9k/main.c >>>> +++ b/drivers/net/wireless/ath/ath9k/main.c >>>> @@ -2267,7 +2267,7 @@ static void ath9k_flush(struct ieee80211_hw *hw, bool drop) >>>> timeout = 1; >>>> >>>> for (j = 0; j< timeout; j++) { >>>> - int npend = 0; >>>> + bool npend = false; >>>> >>>> if (j) >>>> usleep_range(1000, 2000); >>>> @@ -2276,7 +2276,10 @@ static void ath9k_flush(struct ieee80211_hw *hw, bool drop) >>>> if (!ATH_TXQ_SETUP(sc, i)) >>>> continue; >>>> >>>> - npend += ath9k_has_pending_frames(sc,&sc->tx.txq[i]); >>>> + npend = ath9k_has_pending_frames(sc,&sc->tx.txq[i]); >>>> + >>>> + if (npend) >>>> + break; >>> >>> We need not bail out as soon as there is a pending frame in a queue. >>> There is a possibility that it could be transmitted successfully by >>> the time the given timeout expires. >> >> Hi Vasanth, >> the timeout is before we enter into the loop for checking pending >> frames, so I thought it won't be affecting it. am I missing something? >> please tell me. > > I meant the total timeout (200ms). Even though there are frames in > tx queues after the given timeout for that particular queue, it is > quite possible that those frames can be completed successfully by > the time we are done with the waiting on the last queue. Ok Vasanth. thanks, shafi > > > Vasanth > . >