Re: [PATCH 3/5] platform/x86: think-lmi: Correct NVME password handling

From: Hans de Goede
Date: Thu May 25 2023 - 15:46:36 EST


Hi,

On 5/25/23 21:39, Mark Pearson wrote:
> Hi Hans,
>
> My apologies - I completely forgot to add the v2 tag on this patch series...had a complete brain fart.

No worries I did not even notice the v2 was missing,
my brain automatically added it :)

> I assume I should resend them all - correctly named.

Well I have some review remarks on patch 5/5, it would be good if you can address those (if you agree with them) and then lets jump straight to v3 to avoid confusion ?

> I also have no idea why they showed up out of order...I'm blaming that one on the email server.

The out of order thing is normal, this sometimes happens with email.

> Sorry :(

Again no worries / no problem ...

Regards,

Hans




> On Thu, May 25, 2023, at 3:31 PM, Mark Pearson wrote:
>> NVME passwords identifier have been standardised across the Lenovo
>> systems and now use udrp and adrp (user and admin level) instead of
>> unvp and mnvp.
>>
>> This should apparently be backwards compatible.
>>
>> Also cleaned up so the index is set to a default of 1 rather than 0
>> as this just makes more sense (there is no device 0).
>>
>> Signed-off-by: Mark Pearson <mpearson-lenovo@xxxxxxxxx>
>> ---
>> Changes in V2: None. Version bumped in series
>>
>> drivers/platform/x86/think-lmi.c | 8 ++++++--
>> 1 file changed, 6 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/platform/x86/think-lmi.c b/drivers/platform/x86/think-lmi.c
>> index c7e98fbe7c3d..1c02958035ad 100644
>> --- a/drivers/platform/x86/think-lmi.c
>> +++ b/drivers/platform/x86/think-lmi.c
>> @@ -456,9 +456,9 @@ static ssize_t new_password_store(struct kobject *kobj,
>> sprintf(pwd_type, "mhdp%d", setting->index);
>> } else if (setting == tlmi_priv.pwd_nvme) {
>> if (setting->level == TLMI_LEVEL_USER)
>> - sprintf(pwd_type, "unvp%d", setting->index);
>> + sprintf(pwd_type, "udrp%d", setting->index);
>> else
>> - sprintf(pwd_type, "mnvp%d", setting->index);
>> + sprintf(pwd_type, "adrp%d", setting->index);
>> } else {
>> sprintf(pwd_type, "%s", setting->pwd_type);
>> }
>> @@ -1524,6 +1524,10 @@ static int tlmi_analyze(void)
>> if (!tlmi_priv.pwd_nvme)
>> goto fail_clear_attr;
>>
>> + /* Set default hdd/nvme index to 1 as there is no device 0 */
>> + tlmi_priv.pwd_hdd->index = 1;
>> + tlmi_priv.pwd_nvme->index = 1;
>> +
>> if (tlmi_priv.pwdcfg.core.password_state & TLMI_HDD_PWD) {
>> /* Check if PWD is configured and set index to first drive found */
>> if (tlmi_priv.pwdcfg.ext.hdd_user_password ||
>> --
>> 2.40.1
>