lkml.org 
[lkml]   [2020]   [Mar]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.4 061/123] iwlwifi: mvm: Do not require PHY_SKU NVM section for 3168 devices
    Date
    From: Dan Moulding <dmoulding@me.com>

    commit a9149d243f259ad8f02b1e23dfe8ba06128f15e1 upstream.

    The logic for checking required NVM sections was recently fixed in
    commit b3f20e098293 ("iwlwifi: mvm: fix NVM check for 3168
    devices"). However, with that fixed the else is now taken for 3168
    devices and within the else clause there is a mandatory check for the
    PHY_SKU section. This causes the parsing to fail for 3168 devices.

    The PHY_SKU section is really only mandatory for the IWL_NVM_EXT
    layout (the phy_sku parameter of iwl_parse_nvm_data is only used when
    the NVM type is IWL_NVM_EXT). So this changes the PHY_SKU section
    check so that it's only mandatory for IWL_NVM_EXT.

    Fixes: b3f20e098293 ("iwlwifi: mvm: fix NVM check for 3168 devices")
    Signed-off-by: Dan Moulding <dmoulding@me.com>
    Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/net/wireless/intel/iwlwifi/mvm/nvm.c | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)

    --- a/drivers/net/wireless/intel/iwlwifi/mvm/nvm.c
    +++ b/drivers/net/wireless/intel/iwlwifi/mvm/nvm.c
    @@ -309,7 +309,8 @@ iwl_parse_nvm_sections(struct iwl_mvm *m
    }

    /* PHY_SKU section is mandatory in B0 */
    - if (!mvm->nvm_sections[NVM_SECTION_TYPE_PHY_SKU].data) {
    + if (mvm->trans->cfg->nvm_type == IWL_NVM_EXT &&
    + !mvm->nvm_sections[NVM_SECTION_TYPE_PHY_SKU].data) {
    IWL_ERR(mvm,
    "Can't parse phy_sku in B0, empty sections\n");
    return NULL;

    \
     
     \ /
      Last update: 2020-03-17 12:03    [W:4.741 / U:0.024 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site