Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Re: [PATCH] rfkill bug fixed in rfkill_set_sw_state

0 views
Skip to first unread message

Andrew Morton

unread,
Mar 2, 2010, 4:00:02 PM3/2/10
to
Suitable cc's (from scripts/get_maintainer.pl) added.

On Fri, 26 Feb 2010 13:55:31 +0900
_________ <jh80....@samsung.com> wrote:

> Don___t work expected operation in __rfkill_set_sw_state.
> when rfkill initialized. Rfkill___s blocked & unblocked is operating on the
> contrary.
>
> Signed-off-by: Jaehoon Chung <jh80....@samsung.com>
>
> ---
> net/rfkill/core.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/net/rfkill/core.c b/net/rfkill/core.c
> index c224cb2..dcc2d38 100644
> --- a/net/rfkill/core.c
> +++ b/net/rfkill/core.c
> @@ -488,7 +488,7 @@ static void __rfkill_set_sw_state(struct rfkill
> *rfkill, bool blocked)
> if (rfkill->state & RFKILL_BLOCK_SW_SETCALL)
> bit = RFKILL_BLOCK_SW_PREV;
>
> - if (blocked)
> + if (!blocked)
> rfkill->state |= bit;
> else
> rfkill->state &= ~bit;

Are you sure? What problems were you observing with the existing code?
Please fully describe your hardware and the driver's behaviour.

The current code _looks_ OK to me. If bool `blocked' is true, we set
the RFKILL_BLOCK_SW bit?

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majo...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

Jaehoon Chung

unread,
Mar 2, 2010, 7:50:02 PM3/2/10
to
Ok Next time, i will add sutatble cc's scripts/get_maintainer.pl. thanks..

> Suitable cc's (from scripts/get_maintainer.pl) added.
>
> On Fri, 26 Feb 2010 13:55:31 +0900
> _________<jh80....@samsung.com> wrote:
>
>
>> Don___t work expected operation in __rfkill_set_sw_state.
>> when rfkill initialized. Rfkill___s blocked& unblocked is operating on the

>> contrary.
>>
>> Signed-off-by: Jaehoon Chung<jh80....@samsung.com>
>>
>> ---
>> net/rfkill/core.c | 2 +-
>> 1 files changed, 1 insertions(+), 1 deletions(-)
>>
>> diff --git a/net/rfkill/core.c b/net/rfkill/core.c
>> index c224cb2..dcc2d38 100644
>> --- a/net/rfkill/core.c
>> +++ b/net/rfkill/core.c
>> @@ -488,7 +488,7 @@ static void __rfkill_set_sw_state(struct rfkill
>> *rfkill, bool blocked)
>> if (rfkill->state& RFKILL_BLOCK_SW_SETCALL)

>> bit = RFKILL_BLOCK_SW_PREV;
>>
>> - if (blocked)
>> + if (!blocked)
>> rfkill->state |= bit;
>> else
>> rfkill->state&= ~bit;

>>
> Are you sure? What problems were you observing with the existing code?
> Please fully describe your hardware and the driver's behaviour.
>
> The current code _looks_ OK to me. If bool `blocked' is true, we set
> the RFKILL_BLOCK_SW bit?
>
I implemented the wlan driver using rfkill.
In my source code, the wlan driver initalized to
RFKLL_USESR_STATE_UNBLOCKED..
if that is correct, maybe do working the unblocked...but not work
"unblocked"

below code is unblock's operation..right?
rfkill_init_sw_state(wlan, RFKILL_USER_STATE_UNBLOCKED);

but, do not operate unblocked.
please check that source code..

thanks for your comment, Andrew.

Alan Jenkins

unread,
Mar 3, 2010, 4:40:01 AM3/3/10
to

I see the problem :). The hint is in the _USER_ - those constants are
not for use by drivers. You want this instead:

rfkill_init_sw_state(wlan, false);

(assuming you really want init_sw_state(). Please do check that your
device state is persistent, as described by the comment in rfkill.h).

Regards
Alan

Jaehoon Chung

unread,
Mar 3, 2010, 5:20:02 AM3/3/10
to

Oh...i checked the comment in rfkill.h. i didn't see that comment.
thanks for your opinion..:)

Regards
Jaehoon Chung

0 new messages