Message ID | 1443612402-3000775-5-git-send-email-arnd@arndb.de (mailing list archive) |
---|---|
State | Accepted |
Delegated to: | Kalle Valo |
Headers | show |
Hi Arnd, > From: Arnd Bergmann [mailto:arnd@arndb.de] > Sent: Wednesday, September 30, 2015 4:57 PM > To: netdev@vger.kernel.org > Cc: y2038@lists.linaro.org; linux-kernel@vger.kernel.org; David S. > Miller; Arnd Bergmann; Amitkumar Karwar; Nishant Sarmukadam; Kalle Valo; > linux-wireless@vger.kernel.org > Subject: [PATCH 04/12] mwifiex: use ktime_get_real for timestamping > > The mwifiex_11n_aggregate_pkt() function creates a ktime_t from a > timeval returned by do_gettimeofday, which is slow and causes an > overflow in 2038 on 32-bit architectures. > > This solves both problems by using the appropriate ktime_get_real() > function. > > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > Cc: Amitkumar Karwar <akarwar@marvell.com> > Cc: Nishant Sarmukadam <nishants@marvell.com> > Cc: Kalle Valo <kvalo@codeaurora.org> > Cc: linux-wireless@vger.kernel.org > --- > drivers/net/wireless/mwifiex/11n_aggr.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/drivers/net/wireless/mwifiex/11n_aggr.c > b/drivers/net/wireless/mwifiex/11n_aggr.c > index f7c717253a66..78853c51774d 100644 > --- a/drivers/net/wireless/mwifiex/11n_aggr.c > +++ b/drivers/net/wireless/mwifiex/11n_aggr.c > @@ -173,7 +173,6 @@ mwifiex_11n_aggregate_pkt(struct mwifiex_private > *priv, > int pad = 0, aggr_num = 0, ret; > struct mwifiex_tx_param tx_param; > struct txpd *ptx_pd = NULL; > - struct timeval tv; > int headroom = adapter->iface_type == MWIFIEX_USB ? 0 : > INTF_HEADER_LEN; > > skb_src = skb_peek(&pra_list->skb_head); @@ -203,8 +202,7 @@ > mwifiex_11n_aggregate_pkt(struct mwifiex_private *priv, > tx_info_aggr->flags |= MWIFIEX_BUF_FLAG_AGGR_PKT; > skb_aggr->priority = skb_src->priority; > > - do_gettimeofday(&tv); > - skb_aggr->tstamp = timeval_to_ktime(tv); > + skb_aggr->tstamp = ktime_get_real(); > > do { > /* Check if AMSDU can accommodate this MSDU */ > -- > 2.1.0.rc2 Looks good. Acked-by: Amitkumar Karwar <akarwar@marvell.com> Regards, Amitkumar -- 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
diff --git a/drivers/net/wireless/mwifiex/11n_aggr.c b/drivers/net/wireless/mwifiex/11n_aggr.c index f7c717253a66..78853c51774d 100644 --- a/drivers/net/wireless/mwifiex/11n_aggr.c +++ b/drivers/net/wireless/mwifiex/11n_aggr.c @@ -173,7 +173,6 @@ mwifiex_11n_aggregate_pkt(struct mwifiex_private *priv, int pad = 0, aggr_num = 0, ret; struct mwifiex_tx_param tx_param; struct txpd *ptx_pd = NULL; - struct timeval tv; int headroom = adapter->iface_type == MWIFIEX_USB ? 0 : INTF_HEADER_LEN; skb_src = skb_peek(&pra_list->skb_head); @@ -203,8 +202,7 @@ mwifiex_11n_aggregate_pkt(struct mwifiex_private *priv, tx_info_aggr->flags |= MWIFIEX_BUF_FLAG_AGGR_PKT; skb_aggr->priority = skb_src->priority; - do_gettimeofday(&tv); - skb_aggr->tstamp = timeval_to_ktime(tv); + skb_aggr->tstamp = ktime_get_real(); do { /* Check if AMSDU can accommodate this MSDU */
The mwifiex_11n_aggregate_pkt() function creates a ktime_t from a timeval returned by do_gettimeofday, which is slow and causes an overflow in 2038 on 32-bit architectures. This solves both problems by using the appropriate ktime_get_real() function. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Cc: Amitkumar Karwar <akarwar@marvell.com> Cc: Nishant Sarmukadam <nishants@marvell.com> Cc: Kalle Valo <kvalo@codeaurora.org> Cc: linux-wireless@vger.kernel.org --- drivers/net/wireless/mwifiex/11n_aggr.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)