lkml.org 
[lkml]   [2021]   [Mar]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.11 092/775] iwlwifi: mvm: assign SAR table revision to the command later
    Date
    From: Luca Coelho <luciano.coelho@intel.com>

    [ Upstream commit 28db1862067cb09ebfdccfbc129a52c6fdb4c4d7 ]

    The call to iwl_sar_geo_init() was moved to the end of the
    iwl_mvm_sar_geo_init() function, after the table revision is assigned
    to the FW command. But the revision is only known after
    iwl_sar_geo_init() is called, so we were always assigning zero to it.

    Fix that by moving the assignment code after the iwl_sar_geo_init()
    function is called.

    Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
    Fixes: 45acebf8d6a6 ("iwlwifi: fix sar geo table initialization")
    Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
    Link: https://lore.kernel.org/r/iwlwifi.20210210135352.cef55ef3a065.If96c60f08d24c2262c287168a6f0dbd7cf0f8f5c@changeid
    Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/wireless/intel/iwlwifi/mvm/fw.c | 12 ++++++++++--
    1 file changed, 10 insertions(+), 2 deletions(-)

    diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c
    index 045765fa67bea..4c5609cdcbdee 100644
    --- a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c
    +++ b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c
    @@ -859,12 +859,10 @@ static int iwl_mvm_sar_geo_init(struct iwl_mvm *mvm)
    if (cmd_ver == 3) {
    len = sizeof(cmd.v3);
    n_bands = ARRAY_SIZE(cmd.v3.table[0]);
    - cmd.v3.table_revision = cpu_to_le32(mvm->fwrt.geo_rev);
    } else if (fw_has_api(&mvm->fwrt.fw->ucode_capa,
    IWL_UCODE_TLV_API_SAR_TABLE_VER)) {
    len = sizeof(cmd.v2);
    n_bands = ARRAY_SIZE(cmd.v2.table[0]);
    - cmd.v2.table_revision = cpu_to_le32(mvm->fwrt.geo_rev);
    } else {
    len = sizeof(cmd.v1);
    n_bands = ARRAY_SIZE(cmd.v1.table[0]);
    @@ -884,6 +882,16 @@ static int iwl_mvm_sar_geo_init(struct iwl_mvm *mvm)
    if (ret)
    return 0;

    + /*
    + * Set the revision on versions that contain it.
    + * This must be done after calling iwl_sar_geo_init().
    + */
    + if (cmd_ver == 3)
    + cmd.v3.table_revision = cpu_to_le32(mvm->fwrt.geo_rev);
    + else if (fw_has_api(&mvm->fwrt.fw->ucode_capa,
    + IWL_UCODE_TLV_API_SAR_TABLE_VER))
    + cmd.v2.table_revision = cpu_to_le32(mvm->fwrt.geo_rev);
    +
    return iwl_mvm_send_cmd_pdu(mvm,
    WIDE_ID(PHY_OPS_GROUP, GEO_TX_POWER_LIMIT),
    0, len, &cmd);
    --
    2.27.0


    \
     
     \ /
      Last update: 2021-03-02 02:10    [W:4.334 / U:0.056 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site