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/
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.
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
Oh...i checked the comment in rfkill.h. i didn't see that comment.
thanks for your opinion..:)
Regards
Jaehoon Chung