Hi John,
This is a pull request for 3.18. More details below.
Please pull - thanks!
The following changes since commit 31b8b343e019e0a0c57ca9c13520a87f9cab884b:
iwlwifi: fix RFkill while calibrating (2014-11-03 15:29:17 +0200)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-fixes.git
tags/iwlwifi-for-john-2014-11-10
for you to fetch changes up to 87dd634ae72bb8f6d0dd12f1cbbc67c7da6dba3b:
iwlwifi: pcie: fix prph dump length (2014-11-11 07:24:57 +0200)
----------------------------------------------------------------
Two fixes here - we weren't updating mac80211 if a scan
was cut short by RFKILL which confused cfg80211. As a
result, the latter wouldn't allow to run another scan.
Liad fixes a small bug in the firmware dump.
----------------------------------------------------------------
Emmanuel Grumbach (1):
iwlwifi: mvm: abort scan upon RFKILL
Liad Kaufman (1):
iwlwifi: pcie: fix prph dump length
drivers/net/wireless/iwlwifi/mvm/scan.c | 20 ++++++++++----------
drivers/net/wireless/iwlwifi/pcie/trans.c | 3 +--
2 files changed, 11 insertions(+), 12 deletions(-)
From: Liad Kaufman <[email protected]>
The length counting previously done had an error in it, causing
the length down the data dumping function to be shorter than it
should be, causing the end of the data to get truncated off and
lost.
Cc: <[email protected]> [3.17+]
Fixes: 67c65f2cf710 ("iwlwifi: dump periphery registers to fw-error-dump")
Signed-off-by: Liad Kaufman <[email protected]>
Reviewed-by: Johannes Berg <[email protected]>
Signed-off-by: Emmanuel Grumbach <[email protected]>
---
drivers/net/wireless/iwlwifi/pcie/trans.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/net/wireless/iwlwifi/pcie/trans.c b/drivers/net/wireless/iwlwifi/pcie/trans.c
index 160c3eb..dd2f3f8 100644
--- a/drivers/net/wireless/iwlwifi/pcie/trans.c
+++ b/drivers/net/wireless/iwlwifi/pcie/trans.c
@@ -1894,8 +1894,7 @@ static u32 iwl_trans_pcie_dump_prph(struct iwl_trans *trans,
int reg;
__le32 *val;
- prph_len += sizeof(*data) + sizeof(*prph) +
- num_bytes_in_chunk;
+ prph_len += sizeof(**data) + sizeof(*prph) + num_bytes_in_chunk;
(*data)->type = cpu_to_le32(IWL_FW_ERROR_DUMP_PRPH);
(*data)->len = cpu_to_le32(sizeof(*prph) +
--
1.9.1
From: Emmanuel Grumbach <[email protected]>
This code existed but not for all the different FW APIs
we support.
Fix this.
Signed-off-by: Emmanuel Grumbach <[email protected]>
---
drivers/net/wireless/iwlwifi/mvm/scan.c | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/drivers/net/wireless/iwlwifi/mvm/scan.c b/drivers/net/wireless/iwlwifi/mvm/scan.c
index b280d5d..7554f70 100644
--- a/drivers/net/wireless/iwlwifi/mvm/scan.c
+++ b/drivers/net/wireless/iwlwifi/mvm/scan.c
@@ -602,16 +602,6 @@ static int iwl_mvm_cancel_regular_scan(struct iwl_mvm *mvm)
SCAN_COMPLETE_NOTIFICATION };
int ret;
- if (mvm->scan_status == IWL_MVM_SCAN_NONE)
- return 0;
-
- if (iwl_mvm_is_radio_killed(mvm)) {
- ieee80211_scan_completed(mvm->hw, true);
- iwl_mvm_unref(mvm, IWL_MVM_REF_SCAN);
- mvm->scan_status = IWL_MVM_SCAN_NONE;
- return 0;
- }
-
iwl_init_notification_wait(&mvm->notif_wait, &wait_scan_abort,
scan_abort_notif,
ARRAY_SIZE(scan_abort_notif),
@@ -1400,6 +1390,16 @@ int iwl_mvm_unified_sched_scan_lmac(struct iwl_mvm *mvm,
int iwl_mvm_cancel_scan(struct iwl_mvm *mvm)
{
+ if (mvm->scan_status == IWL_MVM_SCAN_NONE)
+ return 0;
+
+ if (iwl_mvm_is_radio_killed(mvm)) {
+ ieee80211_scan_completed(mvm->hw, true);
+ iwl_mvm_unref(mvm, IWL_MVM_REF_SCAN);
+ mvm->scan_status = IWL_MVM_SCAN_NONE;
+ return 0;
+ }
+
if (mvm->fw->ucode_capa.api[0] & IWL_UCODE_TLV_API_LMAC_SCAN)
return iwl_mvm_scan_offload_stop(mvm, true);
return iwl_mvm_cancel_regular_scan(mvm);
--
1.9.1
On Mon, Nov 10, 2014 at 09:37:16PM -0800, Emmanuel Grumbach wrote:
> Hi John,
>
> This is a pull request for 3.18. More details below.
> Please pull - thanks!
>
> The following changes since commit 31b8b343e019e0a0c57ca9c13520a87f9cab884b:
>
> iwlwifi: fix RFkill while calibrating (2014-11-03 15:29:17 +0200)
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-fixes.git
> tags/iwlwifi-for-john-2014-11-10
>
> for you to fetch changes up to 87dd634ae72bb8f6d0dd12f1cbbc67c7da6dba3b:
>
> iwlwifi: pcie: fix prph dump length (2014-11-11 07:24:57 +0200)
>
> ----------------------------------------------------------------
> Two fixes here - we weren't updating mac80211 if a scan
> was cut short by RFKILL which confused cfg80211. As a
> result, the latter wouldn't allow to run another scan.
> Liad fixes a small bug in the firmware dump.
>
> ----------------------------------------------------------------
> Emmanuel Grumbach (1):
> iwlwifi: mvm: abort scan upon RFKILL
>
> Liad Kaufman (1):
> iwlwifi: pcie: fix prph dump length
Pulling now...
--
John W. Linville Someday the world will need a hero, and you
[email protected] might be all we have. Be ready.