3.2.51-rc1 review patch. If anyone has any objections, please let me know. ------------------ From: Stanislaw Gruszka <sgruszka@xxxxxxxxxx> commit 788f7a56fce1bcb2067b62b851a086fca48a0056 upstream. 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@xxxxxxxxxxxxxxx> Signed-off-by: Stanislaw Gruszka <sgruszka@xxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> [bwh: Backported to 3.2: adjust filenames, context, naming] Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> --- drivers/net/wireless/iwlegacy/iwl4965-base.c | 10 +++++----- drivers/net/wireless/iwlegacy/iwl-core.c | 1 + 2 files changed, 6 insertions(+), 5 deletions(-) --- a/drivers/net/wireless/iwlegacy/iwl4965-base.c +++ b/drivers/net/wireless/iwlegacy/iwl4965-base.c @@ -868,12 +868,12 @@ static void iwl4965_irq_tasklet(struct i * is killed. Hence update the killswitch state here. The * rfkill handler will care about restarting if needed. */ - if (!test_bit(STATUS_ALIVE, &priv->status)) { - if (hw_rf_kill) - set_bit(STATUS_RF_KILL_HW, &priv->status); - else - clear_bit(STATUS_RF_KILL_HW, &priv->status); + if (hw_rf_kill) { + set_bit(STATUS_RF_KILL_HW, &priv->status); + } else { + clear_bit(STATUS_RF_KILL_HW, &priv->status); wiphy_rfkill_set_hw_state(priv->hw->wiphy, hw_rf_kill); + iwl_legacy_force_reset(priv, true); } handled |= CSR_INT_BIT_RF_KILL; --- a/drivers/net/wireless/iwlegacy/iwl-core.c +++ b/drivers/net/wireless/iwlegacy/iwl-core.c @@ -1757,6 +1757,7 @@ int iwl_legacy_force_reset(struct iwl_pr return 0; } +EXPORT_SYMBOL(iwl_legacy_force_reset); int iwl_legacy_mac_change_interface(struct ieee80211_hw *hw, -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html