On Tuesday 17 October 2017 13:21:55 Mario Limonciello wrote:
> +/* When enabled this indicates that SMM won't work */
> +static int test_wsmt_enabled(void)
> +{
> +     struct calling_interface_token *token;
> +
> +     /* if token doesn't exist, SMM will work */
> +     token = dell_smbios_find_token(WSMT_EN_TOKEN);
> +     if (!token)
> +             return 0;
> +
> +     /* if token exists, try to access over SMM */
> +     buffer->class = CLASS_TOKEN_READ;
> +     buffer->select = SELECT_TOKEN_STD;
> +     memset(buffer, 0, sizeof(struct calling_interface_buffer));
> +     buffer->input[0] = token->location;
> +     dell_smbios_smm_call(buffer);
> +
> +     /* if lookup failed, we know WSMT was enabled */
> +     if (buffer->output[0] != 0)
> +             return 1;
> +
> +     /* query token status if it didn't fail */
> +     return (buffer->output[1] == token->value);
> +}

Maybe small suggestion... function returns only zero or one -- what is a
good candidate to have return value boolean and not basic int.

-- 
Pali Rohár
pali.ro...@gmail.com

Reply via email to