Tested and commented on the issue page. Thank you for the correction. -- Cheers, You-Sheng Yang On 2019-10-08 15:17, Luciano Coelho wrote: > On Tue, 2019-10-08 at 14:05 +0800, You-Sheng Yang wrote: >> Follow-up for commit fddbfeece9c7 ("iwlwifi: fw: don't send >> GEO_TX_POWER_LIMIT command to FW version 36"). There is no >> GEO_TX_POWER_LIMIT command support for all revisions of FW version >> 29, either. >> >> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=204151 >> Signed-off-by: You-Sheng Yang <vicamo.yang@xxxxxxxxxxxxx> >> --- >> drivers/net/wireless/intel/iwlwifi/mvm/fw.c | 6 +++--- >> 1 file changed, 3 insertions(+), 3 deletions(-) >> >> diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c >> index 32a5e4e5461f..dbba616c19de 100644 >> --- a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c >> +++ b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c >> @@ -889,14 +889,14 @@ static bool iwl_mvm_sar_geo_support(struct iwl_mvm *mvm) >> * firmware versions. Unfortunately, we don't have a TLV API >> * flag to rely on, so rely on the major version which is in >> * the first byte of ucode_ver. This was implemented >> - * initially on version 38 and then backported to29 and 17. >> + * initially on version 38 and then backported to 29 and 17. >> * The intention was to have it in 36 as well, but not all >> * 8000 family got this feature enabled. The 8000 family is >> * the only one using version 36, so skip this version >> - * entirely. >> + * entirely. All revisions of -29 fw still don't have >> + * GEO_TX_POWER_LIMIT supported yet. >> */ >> return IWL_UCODE_SERIAL(mvm->fw->ucode_ver) >= 38 || >> - IWL_UCODE_SERIAL(mvm->fw->ucode_ver) == 29 || >> IWL_UCODE_SERIAL(mvm->fw->ucode_ver) == 17; >> } > > Thanks for the patch! > > But I have investigated this (even) further and now I see that 3168 > doesn't have this command, but 7265D does. The latter also uses -29, > so we can't blindly disable all -29 versions. > > Can you try this instead? > > diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c > b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c > index 0d2229319261..38d89ee9bd28 100644 > --- a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c > +++ b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c > @@ -906,8 +906,10 @@ static bool iwl_mvm_sar_geo_support(struct iwl_mvm > *mvm) > * entirely. > */ > return IWL_UCODE_SERIAL(mvm->fw->ucode_ver) >= 38 || > - IWL_UCODE_SERIAL(mvm->fw->ucode_ver) == 29 || > - IWL_UCODE_SERIAL(mvm->fw->ucode_ver) == 17; > + IWL_UCODE_SERIAL(mvm->fw->ucode_ver) == 17 || > + (IWL_UCODE_SERIAL(mvm->fw->ucode_ver) == 29 && > + (mvm->trans->hw_rev & > + CSR_HW_REV_TYPE_MSK) == CSR_HW_REV_TYPE_7265D); > } > > int iwl_mvm_get_sar_geo_profile(struct iwl_mvm *mvm) > > > -- > Cheers, > Luca. >
Attachment:
signature.asc
Description: OpenPGP digital signature