Re: [PATCH 2/3] iwlwifi: remove STATUS_ALIVE checking from rf_kill
From: Helmut Schaa <hidden>
Date: 2009-03-26 19:49:29
Am Donnerstag, 26. M=C3=A4rz 2009 schrieb reinette chatre:
On Thu, 2009-03-26 at 12:11 -0700, Helmut Schaa wrote:quoted
Am Donnerstag, 26. M=C3=A4rz 2009 schrieb reinette chatre:quoted
On Thu, 2009-03-26 at 10:50 -0700, Helmut Schaa wrote:quoted
Hi, =20 Am Donnerstag, 26. M=C3=A4rz 2009 schrieb Reinette Chatre:quoted
From: Wey-Yi Guy <redacted> =20 Remove STATUS_ALIVE checking when HW RF KILL disabled, the bi=
t get
quoted
quoted
quoted
quoted
clear in __iwl_down() function; the additional checking will =
fail and
quoted
quoted
quoted
quoted
cause RF can not be turn back on.=20 Are you sure this is needed? I'd argue we should only restart t=
he adapter
quoted
quoted
quoted
if it was alive when it got rf_killed. In case the adapter was =
rf_killed
quoted
quoted
quoted
while the interface was down I don't think we want to restart t=
he adapter
quoted
quoted
quoted
immediately but first when the interface is taken up again.=20 We also need to consider if a suspend/resume happens in the middl=
e.
quoted
quoted
Without the patch, if you enable rfkill, suspend, resume, disable rfkill, then your interface cannot be brought up.=20 I guess you refer to the situation where the interface is up, right=
?
quoted
Something like: =20 - ifconfig wlan0 up - press killswitch (kill wireless) - suspend - resume - press killswitch (enable wireless) - here the interface should still be up =20 As the interface is/was up, mac80211's resume handler should restar=
t the
quoted
adapter and thus we wouldn't need to restart the adapter in the rfkill-handler, or did I miss anything?=20 Yes, the resume handler will start the adapter (call "start"), but th=
e
actions done by it will exit early because of rfkill being enabled. T=
he
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 ;) Maybe taking the interface up (not only pseudo-up, as done currently) s= hould be allowed even if wireless is killed? We already allow the interface t= o stay up when the adapter gets rfkilled. Helmut -- To unsubscribe from this list: send the line "unsubscribe linux-wireles= s" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html