Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1637590 > unrolled thread

[PATCH] drivers: net: wimax: i2400m: i2400m-usb: Use time_after for time comparison

Started byKarim Eshapa <karim.eshapa@gmail.com>
First post2017-05-08 19:00 +0200
Last post2017-05-09 15:50 +0200
Articles 5 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] drivers: net: wimax: i2400m: i2400m-usb: Use time_after for time comparison Karim Eshapa <karim.eshapa@gmail.com> - 2017-05-08 19:00 +0200
    Re: [PATCH] drivers: net: wimax: i2400m: i2400m-usb: Use  time_after for time comparison David Miller <davem@davemloft.net> - 2017-05-08 23:30 +0200
      Re: [PATCH] drivers: net: wimax: i2400m: i2400m-usb: Use time_after  for time comparison Girish Moodalbail <girish.moodalbail@oracle.com> - 2017-05-09 01:30 +0200
    RE: [PATCH] drivers: net: wimax: i2400m: i2400m-usb: Use time_after for time comparison Karim Eshapa <karim.eshapa@gmail.com> - 2017-05-09 02:10 +0200
      Re: [PATCH] drivers: net: wimax: i2400m: i2400m-usb: Use  time_after for time comparison David Miller <davem@davemloft.net> - 2017-05-09 15:50 +0200

#1637590 — [PATCH] drivers: net: wimax: i2400m: i2400m-usb: Use time_after for time comparison

FromKarim Eshapa <karim.eshapa@gmail.com>
Date2017-05-08 19:00 +0200
Subject[PATCH] drivers: net: wimax: i2400m: i2400m-usb: Use time_after for time comparison
Message-ID<tEUaS-6rk-9@gated-at.bofh.it>
cast timeframe variable with (unsigned long) then
use time_after() kernel macro for time comparison.

Signed-off-by: Karim Eshapa <karim.eshapa@gmail.com>
---
 drivers/net/wimax/i2400m/i2400m-usb.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wimax/i2400m/i2400m-usb.h b/drivers/net/wimax/i2400m/i2400m-usb.h
index 649ecad..6fc941c 100644
--- a/drivers/net/wimax/i2400m/i2400m-usb.h
+++ b/drivers/net/wimax/i2400m/i2400m-usb.h
@@ -131,7 +131,7 @@ static inline int edc_inc(struct edc *edc, u16 max_err, u16 timeframe)
 	unsigned long now;
 
 	now = jiffies;
-	if (now - edc->timestart > timeframe) {
+	if (time_after(now - edc->timestart, (unsigned long)timeframe)) {
 		edc->errorcount = 1;
 		edc->timestart = now;
 	} else if (++edc->errorcount > max_err) {
-- 
2.7.4

[toc] | [next] | [standalone]


#1637734 — Re: [PATCH] drivers: net: wimax: i2400m: i2400m-usb: Use time_after for time comparison

FromDavid Miller <davem@davemloft.net>
Date2017-05-08 23:30 +0200
SubjectRe: [PATCH] drivers: net: wimax: i2400m: i2400m-usb: Use time_after for time comparison
Message-ID<tEYoa-Pg-9@gated-at.bofh.it>
In reply to#1637590
From: Karim Eshapa <karim.eshapa@gmail.com>
Date: Mon,  8 May 2017 18:58:02 +0200

> diff --git a/drivers/net/wimax/i2400m/i2400m-usb.h b/drivers/net/wimax/i2400m/i2400m-usb.h
> index 649ecad..6fc941c 100644
> --- a/drivers/net/wimax/i2400m/i2400m-usb.h
> +++ b/drivers/net/wimax/i2400m/i2400m-usb.h
> @@ -131,7 +131,7 @@ static inline int edc_inc(struct edc *edc, u16 max_err, u16 timeframe)
>  	unsigned long now;
>  
>  	now = jiffies;
> -	if (now - edc->timestart > timeframe) {
> +	if (time_after(now - edc->timestart, (unsigned long)timeframe)) {

This is far from correct.

time_after() compares two "jiffies" timestamp values.  The second
argument here is not a jiffies timestamp value.

[toc] | [prev] | [next] | [standalone]


#1637785 — Re: [PATCH] drivers: net: wimax: i2400m: i2400m-usb: Use time_after for time comparison

FromGirish Moodalbail <girish.moodalbail@oracle.com>
Date2017-05-09 01:30 +0200
SubjectRe: [PATCH] drivers: net: wimax: i2400m: i2400m-usb: Use time_after for time comparison
Message-ID<tF0gh-22h-5@gated-at.bofh.it>
In reply to#1637734
On 5/8/17 2:26 PM, David Miller wrote:
> From: Karim Eshapa <karim.eshapa@gmail.com>
> Date: Mon,  8 May 2017 18:58:02 +0200
>
>> diff --git a/drivers/net/wimax/i2400m/i2400m-usb.h b/drivers/net/wimax/i2400m/i2400m-usb.h
>> index 649ecad..6fc941c 100644
>> --- a/drivers/net/wimax/i2400m/i2400m-usb.h
>> +++ b/drivers/net/wimax/i2400m/i2400m-usb.h
>> @@ -131,7 +131,7 @@ static inline int edc_inc(struct edc *edc, u16 max_err, u16 timeframe)
>>  	unsigned long now;
>>
>>  	now = jiffies;
>> -	if (now - edc->timestart > timeframe) {
>> +	if (time_after(now - edc->timestart, (unsigned long)timeframe)) {
>
> This is far from correct.
>
> time_after() compares two "jiffies" timestamp values.  The second
> argument here is not a jiffies timestamp value.
>

Perhaps, what is needed here is:

+	if (time_after(jiffies, edc->timestart + timeframe)) {

where in 'timeframe' is set in HZ in all the callers I checked (for the most 
part it is set to EDC_ERROR_TIMEFRAME which is 1HZ).

~Girish

[toc] | [prev] | [next] | [standalone]


#1637794

FromKarim Eshapa <karim.eshapa@gmail.com>
Date2017-05-09 02:10 +0200
Message-ID<tF0SZ-2uA-3@gated-at.bofh.it>
In reply to#1637590
Use time_after() for time comparison with the new fix.

Signed-off-by: Karim Eshapa <karim.eshapa@gmail.com>
---
 drivers/net/wimax/i2400m/i2400m-usb.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wimax/i2400m/i2400m-usb.h b/drivers/net/wimax/i2400m/i2400m-usb.h
index 649ecad..eff4f464 100644
--- a/drivers/net/wimax/i2400m/i2400m-usb.h
+++ b/drivers/net/wimax/i2400m/i2400m-usb.h
@@ -131,7 +131,7 @@ static inline int edc_inc(struct edc *edc, u16 max_err, u16 timeframe)
 	unsigned long now;
 
 	now = jiffies;
-	if (now - edc->timestart > timeframe) {
+	if (time_after(now, edc->timestart + timeframe)) {
 		edc->errorcount = 1;
 		edc->timestart = now;
 	} else if (++edc->errorcount > max_err) {
-- 
2.7.4

[toc] | [prev] | [next] | [standalone]


#1638124 — Re: [PATCH] drivers: net: wimax: i2400m: i2400m-usb: Use time_after for time comparison

FromDavid Miller <davem@davemloft.net>
Date2017-05-09 15:50 +0200
SubjectRe: [PATCH] drivers: net: wimax: i2400m: i2400m-usb: Use time_after for time comparison
Message-ID<tFdGx-2mx-1@gated-at.bofh.it>
In reply to#1637794
From: Karim Eshapa <karim.eshapa@gmail.com>
Date: Tue,  9 May 2017 02:06:50 +0200

> Use time_after() for time comparison with the new fix.
> 
> Signed-off-by: Karim Eshapa <karim.eshapa@gmail.com>

This looks a lot better, applied, thanks.

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web