2008-10-22 16:53:05

by Dmitry Baryshkov

[permalink] [raw]
Subject: [PATCH] RFKILL: fix input layer initialisation

Initialise correctly last fields, so tasks can be actually executed.
On some architectures the initial jiffies value is not zero, so later
all rfkill incorrectly decides that rfkill_*.last is in future.

Signed-off-by: Dmitry Baryshkov <[email protected]>
---
net/rfkill/rfkill-input.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/net/rfkill/rfkill-input.c b/net/rfkill/rfkill-input.c
index e5b6955..cd93f48 100644
--- a/net/rfkill/rfkill-input.c
+++ b/net/rfkill/rfkill-input.c
@@ -255,6 +255,11 @@ static struct input_handler rfkill_handler = {

static int __init rfkill_handler_init(void)
{
+ unsigned long last_run = jiffies - msecs_to_jiffies(500);
+ rfkill_wlan.last = last_run;
+ rfkill_bt.last = last_run;
+ rfkill_uwb.last = last_run;
+ rfkill_wimax.last = last_run;
return input_register_handler(&rfkill_handler);
}

--
1.5.6.5



Subject: Re: [PATCH] RFKILL: fix input layer initialisation

On Wed, 22 Oct 2008, Dmitry Baryshkov wrote:
> Initialise correctly last fields, so tasks can be actually executed.
> On some architectures the initial jiffies value is not zero, so later
> all rfkill incorrectly decides that rfkill_*.last is in future.
>
> Signed-off-by: Dmitry Baryshkov <[email protected]>
> ---
> net/rfkill/rfkill-input.c | 5 +++++
> 1 files changed, 5 insertions(+), 0 deletions(-)
>
> diff --git a/net/rfkill/rfkill-input.c b/net/rfkill/rfkill-input.c
> index e5b6955..cd93f48 100644
> --- a/net/rfkill/rfkill-input.c
> +++ b/net/rfkill/rfkill-input.c
> @@ -255,6 +255,11 @@ static struct input_handler rfkill_handler = {
>
> static int __init rfkill_handler_init(void)
> {
> + unsigned long last_run = jiffies - msecs_to_jiffies(500);
> + rfkill_wlan.last = last_run;
> + rfkill_bt.last = last_run;
> + rfkill_uwb.last = last_run;
> + rfkill_wimax.last = last_run;
> return input_register_handler(&rfkill_handler);
> }

This is not needed for wireless-testing's rfkill-input.

It is needed on 2.6.28, since AFAIK the stuff in wireless-testing is not
going to be sent for 2.6.28.

A similar patch to this was sent not a month ago, I think. One of the two
needs to be merged for 2.6.28.

--
"One disk to rule them all, One disk to find them. One disk to bring
them all and in the darkness grind them. In the Land of Redmond
where the shadows lie." -- The Silicon Valley Tarot
Henrique Holschuh

2008-10-22 17:06:04

by Ivo Van Doorn

[permalink] [raw]
Subject: Re: [PATCH] RFKILL: fix input layer initialisation

On Wednesday 22 October 2008, Dmitry Baryshkov wrote:
> Initialise correctly last fields, so tasks can be actually executed.
> On some architectures the initial jiffies value is not zero, so later
> all rfkill incorrectly decides that rfkill_*.last is in future.
>
> Signed-off-by: Dmitry Baryshkov <[email protected]>
> ---
> net/rfkill/rfkill-input.c | 5 +++++
> 1 files changed, 5 insertions(+), 0 deletions(-)
>
> diff --git a/net/rfkill/rfkill-input.c b/net/rfkill/rfkill-input.c
> index e5b6955..cd93f48 100644
> --- a/net/rfkill/rfkill-input.c
> +++ b/net/rfkill/rfkill-input.c
> @@ -255,6 +255,11 @@ static struct input_handler rfkill_handler = {
>
> static int __init rfkill_handler_init(void)
> {
> + unsigned long last_run = jiffies - msecs_to_jiffies(500);
> + rfkill_wlan.last = last_run;
> + rfkill_bt.last = last_run;
> + rfkill_uwb.last = last_run;
> + rfkill_wimax.last = last_run;
> return input_register_handler(&rfkill_handler);
> }

I believe Dmitry Torokhov recently moved the rfkill structures for wlan, bt, etc
into an array which allowed for easy looping through all structures. That would
make updating all entries easier (and less prone to errors when a new structure
is added).

Could you rebase thise patch on top of that one?
Thanks,

Ivo

2008-10-28 12:33:51

by Dmitry Baryshkov

[permalink] [raw]
Subject: Re: [PATCH] RFKILL: fix input layer initialisation

2008/10/22 Ivo van Doorn <[email protected]>:
> On Wednesday 22 October 2008, Dmitry Baryshkov wrote:
>> Initialise correctly last fields, so tasks can be actually executed.
>> On some architectures the initial jiffies value is not zero, so later
>> all rfkill incorrectly decides that rfkill_*.last is in future.
>>
>> Signed-off-by: Dmitry Baryshkov <[email protected]>
>> ---
>> net/rfkill/rfkill-input.c | 5 +++++
>> 1 files changed, 5 insertions(+), 0 deletions(-)
>>
>> diff --git a/net/rfkill/rfkill-input.c b/net/rfkill/rfkill-input.c
>> index e5b6955..cd93f48 100644
>> --- a/net/rfkill/rfkill-input.c
>> +++ b/net/rfkill/rfkill-input.c
>> @@ -255,6 +255,11 @@ static struct input_handler rfkill_handler = {
>>
>> static int __init rfkill_handler_init(void)
>> {
>> + unsigned long last_run = jiffies - msecs_to_jiffies(500);
>> + rfkill_wlan.last = last_run;
>> + rfkill_bt.last = last_run;
>> + rfkill_uwb.last = last_run;
>> + rfkill_wimax.last = last_run;
>> return input_register_handler(&rfkill_handler);
>> }
>
> I believe Dmitry Torokhov recently moved the rfkill structures for wlan, bt, etc
> into an array which allowed for easy looping through all structures. That would
> make updating all entries easier (and less prone to errors when a new structure
> is added).

I can't find the patch in question. Could you please point me to it?

>
> Could you rebase thise patch on top of that one?
> Thanks,

--
With best wishes
Dmitry