On Fri, 2020-04-17 at 10:37 +0300, Luca Coelho wrote: > From: Luca Coelho <luciano.coelho@xxxxxxxxx> > > In the reference BIOS implementation, WRDS can be disabled without > disabling WGDS. And this happens in most cases where WRDS is > disabled, causing the WGDS without WRDS check and issue an error. > > To avoid this issue, we change the check so that we only considered it > an error if the WRDS entry doesn't exist. If the entry (or the > selected profile is disabled for any other reason), we just silently > ignore WGDS. > > Cc: stable@xxxxxxxxxxxxxxx # 4.14+ > Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=205513 > Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> > --- > [...] > @@ -741,9 +742,14 @@ int iwl_mvm_sar_select_profile(struct iwl_mvm *mvm, int prof_a, int prof_b) > len = sizeof(cmd.v4.v3); > > > - if (iwl_sar_select_profile(&mvm->fwrt, cmd.v5.v3.per_chain_restriction, > - prof_a, prof_b)) > - return -ENOENT; > + ret = iwl_sar_select_profile(&mvm->fwrt, > + cmd.v5.v3.per_chain_restriction, > + prof_a, prof_b); > + > + /* return on error or if the profile is disabled (positive numeber) */ > + if (!ret) > + return ret; > + Oops, this should be "if (ret)" instead, as someone pointed out in an internal review. I'll send v2 in a sec. -- Cheers, Luca.