On 2/28/24 4:26 PM, Srinivas Pandruvada wrote: > When HWP (Hardware P-states) is disabled, dynamic SST features are > disabled. But user should still be able to read the current core-power > state, with legacy P-states. This will allow users to read current > configuration with static SST enabled from BIOS. > > To address this, do not call disable_dynamic_sst_features() when the > request is for reading the state. > > Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> > --- Looks good to me. Reviewed-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@xxxxxxxxxxxxxxx> > drivers/platform/x86/intel/speed_select_if/isst_tpmi_core.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/platform/x86/intel/speed_select_if/isst_tpmi_core.c b/drivers/platform/x86/intel/speed_select_if/isst_tpmi_core.c > index 2662fbbddf0c..1d918000d72b 100644 > --- a/drivers/platform/x86/intel/speed_select_if/isst_tpmi_core.c > +++ b/drivers/platform/x86/intel/speed_select_if/isst_tpmi_core.c > @@ -462,10 +462,10 @@ static long isst_if_core_power_state(void __user *argp) > struct tpmi_per_power_domain_info *power_domain_info; > struct isst_core_power core_power; > > - if (disable_dynamic_sst_features()) > + if (copy_from_user(&core_power, argp, sizeof(core_power))) > return -EFAULT; > > - if (copy_from_user(&core_power, argp, sizeof(core_power))) > + if (core_power.get_set && disable_dynamic_sst_features()) > return -EFAULT; > > power_domain_info = get_instance(core_power.socket_id, core_power.power_domain_id); -- Sathyanarayanan Kuppuswamy Linux Kernel Developer