diff --git a/0001-mwifiex-use-del_timer-variant-in-interrupt-context.patch b/0001-mwifiex-use-del_timer-variant-in-interrupt-context.patch new file mode 100644 index 0000000..3e862a1 --- /dev/null +++ b/0001-mwifiex-use-del_timer-variant-in-interrupt-context.patch @@ -0,0 +1,68 @@ +From 6e9344fd8e90ff0bd8e74c15ec7c21eae7d54bd3 Mon Sep 17 00:00:00 2001 +From: Amitkumar Karwar +Date: Thu, 12 Mar 2015 00:38:40 -0700 +Subject: [PATCH] mwifiex: use del_timer variant in interrupt context + +We might be in interrupt context at few places. So replace +del_timer_sync() with del_timer(). This patch fixes a kernel +trace problem seen occasionally during our testing. + +Signed-off-by: Amitkumar Karwar +Signed-off-by: Kalle Valo +--- + drivers/net/wireless/mwifiex/main.c | 2 +- + drivers/net/wireless/mwifiex/sta_event.c | 4 ++-- + drivers/net/wireless/mwifiex/usb.c | 2 +- + 3 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/drivers/net/wireless/mwifiex/main.c b/drivers/net/wireless/mwifiex/main.c +index 74488ab..42bf884 100644 +--- a/drivers/net/wireless/mwifiex/main.c ++++ b/drivers/net/wireless/mwifiex/main.c +@@ -247,7 +247,7 @@ process_start: + if (IS_CARD_RX_RCVD(adapter)) { + adapter->data_received = false; + adapter->pm_wakeup_fw_try = false; +- del_timer_sync(&adapter->wakeup_timer); ++ del_timer(&adapter->wakeup_timer); + if (adapter->ps_state == PS_STATE_SLEEP) + adapter->ps_state = PS_STATE_AWAKE; + } else { +diff --git a/drivers/net/wireless/mwifiex/sta_event.c b/drivers/net/wireless/mwifiex/sta_event.c +index 64c4223..0dc7a1d 100644 +--- a/drivers/net/wireless/mwifiex/sta_event.c ++++ b/drivers/net/wireless/mwifiex/sta_event.c +@@ -312,7 +312,7 @@ int mwifiex_process_sta_event(struct mwifiex_private *priv) + adapter->ps_state = PS_STATE_AWAKE; + adapter->pm_wakeup_card_req = false; + adapter->pm_wakeup_fw_try = false; +- del_timer_sync(&adapter->wakeup_timer); ++ del_timer(&adapter->wakeup_timer); + break; + } + if (!mwifiex_send_null_packet +@@ -327,7 +327,7 @@ int mwifiex_process_sta_event(struct mwifiex_private *priv) + adapter->ps_state = PS_STATE_AWAKE; + adapter->pm_wakeup_card_req = false; + adapter->pm_wakeup_fw_try = false; +- del_timer_sync(&adapter->wakeup_timer); ++ del_timer(&adapter->wakeup_timer); + + break; + +diff --git a/drivers/net/wireless/mwifiex/usb.c b/drivers/net/wireless/mwifiex/usb.c +index 2238730..8beb38c 100644 +--- a/drivers/net/wireless/mwifiex/usb.c ++++ b/drivers/net/wireless/mwifiex/usb.c +@@ -1006,7 +1006,7 @@ static int mwifiex_pm_wakeup_card(struct mwifiex_adapter *adapter) + { + /* Simulation of HS_AWAKE event */ + adapter->pm_wakeup_fw_try = false; +- del_timer_sync(&adapter->wakeup_timer); ++ del_timer(&adapter->wakeup_timer); + adapter->pm_wakeup_card_req = false; + adapter->ps_state = PS_STATE_AWAKE; + +-- +2.4.1 + diff --git a/kernel.spec b/kernel.spec index ed19cdc..8ced40c 100644 --- a/kernel.spec +++ b/kernel.spec @@ -808,6 +808,9 @@ Patch26218: 0001-n_tty-Fix-auditing-support-for-cannonical-mode.patch #rhbz 1133378 Patch26219: 0001-firmware-Drop-WARN-from-usermodehelper_read_trylock-.patch +# FAF Problem 885578 +Patch26220: 0001-mwifiex-use-del_timer-variant-in-interrupt-context.patch + # END OF PATCH DEFINITIONS %endif @@ -1585,6 +1588,9 @@ ApplyPatch 0001-n_tty-Fix-auditing-support-for-cannonical-mode.patch #rhbz 1133378 ApplyPatch 0001-firmware-Drop-WARN-from-usermodehelper_read_trylock-.patch +# FAF Problem 885578 +ApplyPatch 0001-mwifiex-use-del_timer-variant-in-interrupt-context.patch + # END OF PATCH APPLICATIONS %endif @@ -2397,6 +2403,9 @@ fi # || || %changelog * Wed Jun 03 2015 Laura Abbott +- Fix del_timer_sync in mwifiex + +* Wed Jun 03 2015 Laura Abbott - Drop that blasted firwmare warning until we get a real fix (rhbz 1133378) * Wed Jun 03 2015 Laura Abbott