Return-path: Received: from mailout1.samsung.com ([203.254.224.24]:45293 "EHLO mailout1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751751Ab0CCKRT (ORCPT ); Wed, 3 Mar 2010 05:17:19 -0500 Date: Wed, 03 Mar 2010 19:14:52 +0900 From: Jaehoon Chung Subject: Re: [PATCH] rfkill bug fixed in rfkill_set_sw_state In-reply-to: <4B8E2DCD.6020308@tuffmail.co.uk> To: Alan Jenkins Cc: Andrew Morton , linux-kernel@vger.kernel.org, linux-wireless@vger.kernel.org, "John W. Linville" , Johannes Berg Reply-to: jh80.chung@samsung.com Message-id: <4B8E369C.4080701@samsung.com> MIME-version: 1.0 Content-type: text/plain; format=flowed; charset=ISO-8859-1 References: <000301cab69f$ec61ad00$c5250700$%chung@samsung.com> <20100302125003.f7919c53.akpm@linux-foundation.org> <4B8DB1A3.9060902@samsung.com> <4B8E2DCD.6020308@tuffmail.co.uk> Sender: linux-wireless-owner@vger.kernel.org List-ID: 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 >>> _________ 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 >>>> >>>> --- >>>> 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