Search Linux Wireless

Re: iwlwifi - rfkill only works if the interface is up

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Dec 1, 2008 at 5:04 PM, Helmut Schaa
<helmut.schaa@xxxxxxxxxxxxxx> wrote:
> Am Montag, 1. Dezember 2008 schrieb Tomas Winkler:
>> On Mon, Dec 1, 2008 at 2:11 PM, Helmut Schaa
>> <helmut.schaa@xxxxxxxxxxxxxx> wrote:
>
> ...
>
>> > diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c
>> > index b935e9d..e2f160b 100644
>> > --- a/drivers/net/wireless/iwlwifi/iwl-agn.c
>> > +++ b/drivers/net/wireless/iwlwifi/iwl-agn.c
>> > @@ -1504,8 +1504,11 @@ static void iwl_irq_tasklet(struct iwl_priv *priv)
>> >                 * the driver as well won't allow loading if RFKILL is set
>> >                 * therefore no need to restart the driver from this handler
>> >                 */
>> > -               if (!hw_rf_kill && !test_bit(STATUS_ALIVE, &priv->status))
>> > +               if (!hw_rf_kill && !test_bit(STATUS_ALIVE, &priv->status)) {
>> >                        clear_bit(STATUS_RF_KILL_HW, &priv->status);
>> > +                       if (priv->is_open)
>> > +                               queue_work(priv->workqueue, &priv->restart);
>> > +               }
>> >
>> >                handled |= CSR_INT_BIT_RF_KILL;
>> >        }
>>
>> This is strange, this exact code is part of  patch

>> """
>> Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx>
>> Date:   Sun Jun 22 11:18:52 2008 +0300
>>  iwlwifi: clean up HW RF-kill state machine and restarts
>>  This patch cleans up HW RF-kill state machine.
>> """
>> The two other hunks of this patch are in the current code, this one is
>> not, I've probably messed up something on they way. I will track this
>> down.
>
> Thanks, should I respin the above patch?

Sorry I was wrong about the patch. The correct one is
http://git.kernel.org/?p=linux/kernel/git/iwlwifi/iwlwifi-2.6.git;a=commitdiff;h=a91ad840c23a70bc0eabe239e178e0d979a6d44e;hp=5ef81ff85d135e83eff581237de41a362cbdb167

It few problems and I've actually I had it rebased over current code
and started to clean it up but then there were series of unexpected
events which brought it to darkness.
One think for sure what need to be removed form the patch is setting
radio_enabled within the driver code Although mac80211 awareness of
rfkill is still not addressed.
Anyhow If you have free afternoon you can pick  up the patch otherwise
somebody from intel will

>
>> > Nevertheless, I'm wondering if the current behaviour (even with the patch above)
>> > makes much sense. I mean, the user space cannot rely on the rfkill state
>> > unless an appropriate interface is up. As the device is able to report the
>> > killswitch state without firmware being loaded the following approach could
>> > be feasible:
>> > - iwl_pci_probe enables the device and enables the interrupts
>> > - iwl_mac_start just loads the firmware
>> > - iwl_mac_stop just releases the firmware but leaves the interrupts enabled
>>
>> In 3495  rfkill interrupt is not available and rfkill state is
>> delivered only when firmware is loaded, therefore this is not
>> possible to bring device down and also expect rfill switch event.
>
> Would it be possible to poll CSR_GP_CNTRL for that information on iwl3945?

Not sure, need to run and check

>
>> There were few threads about this subject.
>
> Searching for these now ...
>
>> In 4965 and 5000 this will work
>
> Would you agree on that behavior?
> Any objections I did not think of yet?

This is definitely the way but it seems that patch is  just it's not enough.

Thanks
Tomas
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux