Search Linux Wireless

Re: [PATCH 2/3] iwlwifi: remove STATUS_ALIVE checking from rf_kill

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

 



On Thu, 2009-03-26 at 12:49 -0700, Helmut Schaa wrote:
> Am Donnerstag, 26. März 2009 schrieb reinette chatre:
> > On Thu, 2009-03-26 at 12:11 -0700, Helmut Schaa wrote:
> > > Am Donnerstag, 26. März 2009 schrieb reinette chatre:
> > > > On Thu, 2009-03-26 at 10:50 -0700, Helmut Schaa wrote:
> > > > > Hi,
> > > > > 
> > > > > Am Donnerstag, 26. März 2009 schrieb Reinette Chatre:
> > > > > > From: Wey-Yi Guy <wey-yi.w.guy@xxxxxxxxx>
> > > > > > 
> > > > > > Remove STATUS_ALIVE checking when HW RF KILL disabled, the bit get
> > > > > > clear in __iwl_down() function; the additional checking will fail and
> > > > > > cause RF can not be turn back on.
> > > > > 
> > > > > Are you sure this is needed? I'd argue we should only restart the adapter
> > > > > if it was alive when it got rf_killed. In case the adapter was rf_killed
> > > > > while the interface was down I don't think we want to restart the adapter
> > > > > immediately but first when the interface is taken up again.
> > > > 
> > > > We also need to consider if a suspend/resume happens in the middle.
> > > > Without the patch, if you enable rfkill, suspend, resume, disable
> > > > rfkill, then your interface cannot be brought up.
> > > 
> > > I guess you refer to the situation where the interface is up, right?
> > > Something like:
> > > 
> > > - ifconfig wlan0 up
> > > - press killswitch (kill wireless)
> > > - suspend
> > > - resume
> > > - press killswitch (enable wireless)
> > > - here the interface should still be up
> > > 
> > > As the interface is/was up, mac80211's resume handler should restart the
> > > adapter and thus we wouldn't need to restart the adapter in the
> > > rfkill-handler, or did I miss anything?
> > 
> > Yes, the resume handler will start the adapter (call "start"), but the
> > actions done by it will exit early because of rfkill being enabled. The
> > STATUS_ALIVE bit will thus not be set after this is completed. Later,
> > when user disables rfkill, we want to restart the adapter to get all
> > this corrected, but this call currently fails because of this check.
> 
> Got it, thanks for the explanation.
> 
> Nevertheless, removing the check will result in restarting the adapter even
> if the interface is down. So, I agree that we have a problem here but I do
> not agree with the solution ;)

I agree that it is not efficient ... but it seems harmless.

> Maybe taking the interface up (not only pseudo-up, as done currently) should
> be allowed even if wireless is killed? We already allow the interface to
> stay up when the adapter gets rfkilled.

Knowing that rfkill is enabled enables us to save power by not bringing
everything up.

Reinette

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