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>
This commit is contained in:
parent
b5413e6b22
commit
5af3fae335
|
@ -160,6 +160,7 @@ mwifiex_11n_aggregate_pkt(struct mwifiex_private *priv,
|
||||||
int pad = 0, ret;
|
int pad = 0, ret;
|
||||||
struct mwifiex_tx_param tx_param;
|
struct mwifiex_tx_param tx_param;
|
||||||
struct txpd *ptx_pd = NULL;
|
struct txpd *ptx_pd = NULL;
|
||||||
|
struct timeval tv;
|
||||||
int headroom = adapter->iface_type == MWIFIEX_USB ? 0 : INTF_HEADER_LEN;
|
int headroom = adapter->iface_type == MWIFIEX_USB ? 0 : INTF_HEADER_LEN;
|
||||||
|
|
||||||
skb_src = skb_peek(&pra_list->skb_head);
|
skb_src = skb_peek(&pra_list->skb_head);
|
||||||
|
@ -184,6 +185,9 @@ mwifiex_11n_aggregate_pkt(struct mwifiex_private *priv,
|
||||||
tx_info_aggr->bss_num = tx_info_src->bss_num;
|
tx_info_aggr->bss_num = tx_info_src->bss_num;
|
||||||
skb_aggr->priority = skb_src->priority;
|
skb_aggr->priority = skb_src->priority;
|
||||||
|
|
||||||
|
do_gettimeofday(&tv);
|
||||||
|
skb_aggr->tstamp = timeval_to_ktime(tv);
|
||||||
|
|
||||||
do {
|
do {
|
||||||
/* Check if AMSDU can accommodate this MSDU */
|
/* Check if AMSDU can accommodate this MSDU */
|
||||||
if (skb_tailroom(skb_aggr) < (skb_src->len + LLC_SNAP_LEN))
|
if (skb_tailroom(skb_aggr) < (skb_src->len + LLC_SNAP_LEN))
|
||||||
|
|
Loading…
Reference in New Issue