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.I implemented the wlan driver using rfkill.
On Fri, 26 Feb 2010 13:55:31 +0900
_________<jh80.chung@xxxxxxxxxxx> wrote:
Don___t work expected operation in __rfkill_set_sw_state.Are you sure? What problems were you observing with the existing code?
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;
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?
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