Fix firmware issues with iwl4965 and rfkill (rhbz 977053)
This commit is contained in:
parent
0a6c27ad88
commit
652a694987
|
@ -0,0 +1,56 @@
|
|||
Using rfkill switch can make firmware unstable, what cause various
|
||||
Microcode errors and kernel warnings. Reseting firmware just after
|
||||
rfkill off (radio on) helped with that.
|
||||
|
||||
Resolve:
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=977053
|
||||
|
||||
Reported-and-tested-by: Justin Pearce <whitefox@guardianfox.net>
|
||||
Cc: stable@vger.kernel.org
|
||||
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
|
||||
---
|
||||
drivers/net/wireless/iwlegacy/4965-mac.c | 10 +++++-----
|
||||
drivers/net/wireless/iwlegacy/common.c | 1 +
|
||||
2 files changed, 6 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/iwlegacy/4965-mac.c b/drivers/net/wireless/iwlegacy/4965-mac.c
|
||||
index f0b7794..f2ed62e 100644
|
||||
--- a/drivers/net/wireless/iwlegacy/4965-mac.c
|
||||
+++ b/drivers/net/wireless/iwlegacy/4965-mac.c
|
||||
@@ -4460,12 +4460,12 @@ il4965_irq_tasklet(struct il_priv *il)
|
||||
* is killed. Hence update the killswitch state here. The
|
||||
* rfkill handler will care about restarting if needed.
|
||||
*/
|
||||
- if (!test_bit(S_ALIVE, &il->status)) {
|
||||
- if (hw_rf_kill)
|
||||
- set_bit(S_RFKILL, &il->status);
|
||||
- else
|
||||
- clear_bit(S_RFKILL, &il->status);
|
||||
+ if (hw_rf_kill) {
|
||||
+ set_bit(S_RFKILL, &il->status);
|
||||
+ } else {
|
||||
+ clear_bit(S_RFKILL, &il->status);
|
||||
wiphy_rfkill_set_hw_state(il->hw->wiphy, hw_rf_kill);
|
||||
+ il_force_reset(il, true);
|
||||
}
|
||||
|
||||
handled |= CSR_INT_BIT_RF_KILL;
|
||||
diff --git a/drivers/net/wireless/iwlegacy/common.c b/drivers/net/wireless/iwlegacy/common.c
|
||||
index 3195aad..b03e22e 100644
|
||||
--- a/drivers/net/wireless/iwlegacy/common.c
|
||||
+++ b/drivers/net/wireless/iwlegacy/common.c
|
||||
@@ -4660,6 +4660,7 @@ il_force_reset(struct il_priv *il, bool external)
|
||||
|
||||
return 0;
|
||||
}
|
||||
+EXPORT_SYMBOL(il_force_reset);
|
||||
|
||||
int
|
||||
il_mac_change_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
|
||||
--
|
||||
1.7.11.7
|
||||
|
||||
--
|
||||
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
|
||||
the body of a message to majordomo@vger.kernel.org
|
||||
More majordomo info at http://vger.kernel.org/majordomo-info.html
|
11
kernel.spec
11
kernel.spec
|
@ -62,7 +62,7 @@ Summary: The Linux kernel
|
|||
# For non-released -rc kernels, this will be appended after the rcX and
|
||||
# gitX tags, so a 3 here would become part of release "0.rcX.gitX.3"
|
||||
#
|
||||
%global baserelease 200
|
||||
%global baserelease 201
|
||||
%global fedora_build %{baserelease}
|
||||
|
||||
# base_sublevel is the kernel version we're starting with and patching
|
||||
|
@ -820,6 +820,9 @@ Patch25069: iwlwifi-dvm-fix-calling-ieee80211_chswitch_done-with-NULL.patch
|
|||
#rhbz 969473
|
||||
Patch25070: Input-elantech-fix-for-newer-hardware-versions-v7.patch
|
||||
|
||||
#rhbz 977053
|
||||
Patch25073: iwl4965-reset-firmware-after-rfkill-off.patch
|
||||
|
||||
# END OF PATCH DEFINITIONS
|
||||
|
||||
%endif
|
||||
|
@ -1578,6 +1581,9 @@ ApplyPatch iwlwifi-dvm-fix-calling-ieee80211_chswitch_done-with-NULL.patch
|
|||
#rhbz 969473
|
||||
ApplyPatch Input-elantech-fix-for-newer-hardware-versions-v7.patch
|
||||
|
||||
#rhbz 977053
|
||||
ApplyPatch iwl4965-reset-firmware-after-rfkill-off.patch
|
||||
|
||||
# END OF PATCH APPLICATIONS
|
||||
|
||||
%endif
|
||||
|
@ -2423,6 +2429,9 @@ fi
|
|||
# ||----w |
|
||||
# || ||
|
||||
%changelog
|
||||
* Thu Aug 01 2013 Josh Boyer <jwboyer@redhat.com>
|
||||
- Fix firmware issues with iwl4965 and rfkill (rhbz 977053)
|
||||
|
||||
* Mon Jul 29 2013 Josh Boyer <jwboyer@redhat.com>
|
||||
- Add support for elantech v7 devices (rhbz 969473)
|
||||
|
||||
|
|
Loading…
Reference in New Issue