diff mbox

ath9k: Ensure we set FTP_STOMP_LOW weight when WLAN is idle

Message ID 1348758768-5228-1-git-send-email-mohammed@qca.qualcomm.com (mailing list archive)
State Not Applicable, archived
Headers show

Commit Message

Shajakhan, Mohammed Sept. 27, 2012, 3:12 p.m. UTC
From: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>

We WLAN is idle we can some better bandwidth to FTP by
setting STOMP_LOW_FTP where stomping the FTP BT is pretty
much reduced when compared to setting STOMP_LOW weight.
we calculate WLAN is idle by taking into account of the
rx data packets, so ensure that we take into account
of data packets(ignore beacons).

Also update bt_wait_time even if the chip is NETWORK SLEEP
mode. This should help BT throughput when WLAN is idle,
when everything else is fine :)

Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
---
 drivers/net/wireless/ath/ath9k/gpio.c |    2 +-
 drivers/net/wireless/ath/ath9k/recv.c |    5 ++++-
 2 files changed, 5 insertions(+), 2 deletions(-)

Comments

Holger Schurig Sept. 28, 2012, 9 a.m. UTC | #1
> We WLAN is idle we can some better bandwidth to FTP by
> setting STOMP_LOW_FTP where stomping the FTP BT is pretty
> much reduced when compared to setting STOMP_LOW weight.

I understand that english isn't your first language (and neither is it
mine). But this is quite unintelligible.

Beside wrong words (We/When) it doesn't also really say what is going
on. What, for example, is FTP ?  How can you assume that this is
generally known?  For sure it's not the file transfer protocol. Same
with "FTP BT".

Also, "we can some better bandwidth" misses a verb. "take into account
of data packets" is weird, too.

Confused.
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Shajakhan, Mohammed Sept. 28, 2012, 9:27 a.m. UTC | #2
Hi Holger,


On Friday 28 September 2012 02:30 PM, Holger Schurig wrote:
>> We WLAN is idle we can some better bandwidth to FTP by
>> setting STOMP_LOW_FTP where stomping the FTP BT is pretty
>> much reduced when compared to setting STOMP_LOW weight.
>
> I understand that english isn't your first language (and neither is it
> mine). But this is quite unintelligible.

:) :)
apologies, I simply missed the commit log line, Its been sent as an RFC 
sometime and yesterday I sent the patch, apparently not much looking 
into the commit log :). Definitely its not correct and thanks for 
pointing this out.  Will send a v2!

>
> Beside wrong words (We/When) it doesn't also really say what is going
> on. What, for example, is FTP ?  How can you assume that this is
> generally known?  For sure it's not the file transfer protocol. Same
> with "FTP BT".

sure I would make it clear in the v2.

>
> Also, "we can some better bandwidth" misses a verb. "take into account
> of data packets" is weird, too.

sure, I will change in v2.

>
> Confused.
>

thanks a lot for your review and comments!
diff mbox

Patch

diff --git a/drivers/net/wireless/ath/ath9k/gpio.c b/drivers/net/wireless/ath/ath9k/gpio.c
index bf7d29e..97d1ed4 100644
--- a/drivers/net/wireless/ath/ath9k/gpio.c
+++ b/drivers/net/wireless/ath/ath9k/gpio.c
@@ -204,6 +204,7 @@  static void ath_btcoex_period_timer(unsigned long data)
 
 	spin_lock_irqsave(&sc->sc_pm_lock, flags);
 	if (sc->sc_ah->power_mode == ATH9K_PM_NETWORK_SLEEP) {
+		btcoex->bt_wait_time += btcoex->btcoex_period;
 		spin_unlock_irqrestore(&sc->sc_pm_lock, flags);
 		goto skip_hw_wakeup;
 	}
@@ -214,7 +215,6 @@  static void ath_btcoex_period_timer(unsigned long data)
 		ath_detect_bt_priority(sc);
 	is_btscan = test_bit(BT_OP_SCAN, &btcoex->op_flags);
 
-	btcoex->bt_wait_time += btcoex->btcoex_period;
 	if (btcoex->bt_wait_time > ATH_BTCOEX_RX_WAIT_TIME) {
 		if (ar9003_mci_state(ah, MCI_STATE_NEED_FTP_STOMP) &&
 		    (mci->num_pan || mci->num_other_acl))
diff --git a/drivers/net/wireless/ath/ath9k/recv.c b/drivers/net/wireless/ath/ath9k/recv.c
index 4480c0c..9b2a8cc 100644
--- a/drivers/net/wireless/ath/ath9k/recv.c
+++ b/drivers/net/wireless/ath/ath9k/recv.c
@@ -1105,7 +1105,10 @@  int ath_rx_tasklet(struct ath_softc *sc, int flush, bool hp)
 		else
 			rs.is_mybeacon = false;
 
-		sc->rx.num_pkts++;
+		if (ieee80211_is_data_present(hdr->frame_control) &&
+		    !ieee80211_is_qos_nullfunc(hdr->frame_control))
+			sc->rx.num_pkts++;
+
 		ath_debug_stat_rx(sc, &rs);
 
 		/*