Re: [PATCH] rfkill bug fixed in rfkill_set_sw_state

From: Jaehoon Chung
Date: Wed Mar 03 2010 - 05:17:25 EST


Alan Jenkins wrote:
Jaehoon Chung wrote:
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.chung@xxxxxxxxxxx> 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.chung@xxxxxxxxxxx>

---
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..

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