| From foo@baz Fri Mar 16 15:43:17 CET 2018 |
| From: Sara Sharon <sara.sharon@intel.com> |
| Date: Mon, 20 Nov 2017 18:02:05 +0200 |
| Subject: iwlwifi: mvm: avoid dumping assert log when device is stopped |
| |
| From: Sara Sharon <sara.sharon@intel.com> |
| |
| |
| [ Upstream commit 6362ab721ef5c4ecfa01f53ad4137d3d984f0c6c ] |
| |
| We might erroneously get to error dumping code when the |
| device is already stopped. |
| |
| In that case the driver will detect a defective value and will try to |
| reset the HW, assuming it is only a bus issue. The driver than |
| proceeds with the dumping. |
| |
| The result has two side effects: |
| |
| 1. The device won't be stopped again, since the transport status is |
| already stopped, so the device remains powered on while it actually |
| should be stopped. |
| |
| 2. The dump in that case is completely garbaged and useless. |
| |
| Detect and avoid this. It will also make debugging such issues |
| easier. |
| |
| Signed-off-by: Sara Sharon <sara.sharon@intel.com> |
| Signed-off-by: Luca Coelho <luciano.coelho@intel.com> |
| Signed-off-by: Sasha Levin <alexander.levin@microsoft.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/net/wireless/intel/iwlwifi/mvm/utils.c | 6 ++++++ |
| 1 file changed, 6 insertions(+) |
| |
| --- a/drivers/net/wireless/intel/iwlwifi/mvm/utils.c |
| +++ b/drivers/net/wireless/intel/iwlwifi/mvm/utils.c |
| @@ -603,6 +603,12 @@ static void iwl_mvm_dump_lmac_error_log( |
| |
| void iwl_mvm_dump_nic_error_log(struct iwl_mvm *mvm) |
| { |
| + if (!test_bit(STATUS_DEVICE_ENABLED, &mvm->trans->status)) { |
| + IWL_ERR(mvm, |
| + "DEVICE_ENABLED bit is not set. Aborting dump.\n"); |
| + return; |
| + } |
| + |
| iwl_mvm_dump_lmac_error_log(mvm, mvm->error_event_table[0]); |
| |
| if (mvm->error_event_table[1]) |