lkml.org 
[lkml]   [2018]   [Mar]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL for 4.14 50/84] iwlwifi: mvm: avoid dumping assert log when device is stopped
    Date
    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>
    ---
    drivers/net/wireless/intel/iwlwifi/mvm/utils.c | 6 ++++++
    1 file changed, 6 insertions(+)

    diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/utils.c b/drivers/net/wireless/intel/iwlwifi/mvm/utils.c
    index 0ae7624eac9d..43ab172d31cb 100644
    --- 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(struct iwl_mvm *mvm, u32 base)

    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])
    --
    2.14.1
    \
     
     \ /
      Last update: 2018-03-04 01:18    [W:4.136 / U:0.024 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site