Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1637590 > unrolled thread
| Started by | Karim Eshapa <karim.eshapa@gmail.com> |
|---|---|
| First post | 2017-05-08 19:00 +0200 |
| Last post | 2017-05-09 15:50 +0200 |
| Articles | 5 — 3 participants |
Back to article view | Back to linux.kernel
[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
| From | Karim Eshapa <karim.eshapa@gmail.com> |
|---|---|
| Date | 2017-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]
| From | David Miller <davem@davemloft.net> |
|---|---|
| Date | 2017-05-08 23:30 +0200 |
| Subject | Re: [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]
| From | Girish Moodalbail <girish.moodalbail@oracle.com> |
|---|---|
| Date | 2017-05-09 01:30 +0200 |
| Subject | Re: [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]
| From | Karim Eshapa <karim.eshapa@gmail.com> |
|---|---|
| Date | 2017-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]
| From | David Miller <davem@davemloft.net> |
|---|---|
| Date | 2017-05-09 15:50 +0200 |
| Subject | Re: [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