aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAvinash Patil <patila@marvell.com>2014-04-14 18:32:53 -0400
committerJohn W. Linville <linville@tuxdriver.com>2014-04-22 15:06:30 -0400
commit5af3fae3356c21faa97de496863a197660a6e1b0 (patch)
tree634def5056c74e50373139e83f097fbfa002bc28
parentb5413e6b2228a29b7d3acc85606ed7c211a2bef9 (diff)
mwifiex: update timestamp information for aggregation packets
New skbs are allocated at the time of AMSDU aggregation. Setting up in timestamps for such skbs was missing which would result into wrong queue delays passed to FW. Fix this by setting timestamp of skbs created for AMSDU aggregation. Signed-off-by: Avinash Patil <patila@marvell.com> Signed-off-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/net/wireless/mwifiex/11n_aggr.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/wireless/mwifiex/11n_aggr.c b/drivers/net/wireless/mwifiex/11n_aggr.c
index b179652e50b3..860dfe71cf96 100644
--- a/drivers/net/wireless/mwifiex/11n_aggr.c
+++ b/drivers/net/wireless/mwifiex/11n_aggr.c
@@ -160,6 +160,7 @@ mwifiex_11n_aggregate_pkt(struct mwifiex_private *priv,
160 int pad = 0, ret; 160 int pad = 0, ret;
161 struct mwifiex_tx_param tx_param; 161 struct mwifiex_tx_param tx_param;
162 struct txpd *ptx_pd = NULL; 162 struct txpd *ptx_pd = NULL;
163 struct timeval tv;
163 int headroom = adapter->iface_type == MWIFIEX_USB ? 0 : INTF_HEADER_LEN; 164 int headroom = adapter->iface_type == MWIFIEX_USB ? 0 : INTF_HEADER_LEN;
164 165
165 skb_src = skb_peek(&pra_list->skb_head); 166 skb_src = skb_peek(&pra_list->skb_head);
@@ -184,6 +185,9 @@ mwifiex_11n_aggregate_pkt(struct mwifiex_private *priv,
184 tx_info_aggr->bss_num = tx_info_src->bss_num; 185 tx_info_aggr->bss_num = tx_info_src->bss_num;
185 skb_aggr->priority = skb_src->priority; 186 skb_aggr->priority = skb_src->priority;
186 187
188 do_gettimeofday(&tv);
189 skb_aggr->tstamp = timeval_to_ktime(tv);
190
187 do { 191 do {
188 /* Check if AMSDU can accommodate this MSDU */ 192 /* Check if AMSDU can accommodate this MSDU */
189 if (skb_tailroom(skb_aggr) < (skb_src->len + LLC_SNAP_LEN)) 193 if (skb_tailroom(skb_aggr) < (skb_src->len + LLC_SNAP_LEN))