Re: [PATCH v2 3/3] dmi: Make dmi_walk and dmi_walk_early return real error codes

From: Jean Delvare
Date: Tue Jan 19 2016 - 02:54:33 EST


Hi Andy,

On Mon, 18 Jan 2016 12:59:40 -0800, Andy Lutomirski wrote:
> Currently they return -1 on error, which will confuse callers if
> they try to interpret it as a normal negative error code.
>
> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx>
> ---
> drivers/firmware/dmi_scan.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/firmware/dmi_scan.c b/drivers/firmware/dmi_scan.c
> index 0e08e665f715..451ac04ed18d 100644
> --- a/drivers/firmware/dmi_scan.c
> +++ b/drivers/firmware/dmi_scan.c
> @@ -144,7 +144,7 @@ static int __init dmi_walk_early(void (*decode)(const struct dmi_header *,
>
> buf = dmi_early_remap(dmi_base, orig_dmi_len);
> if (buf == NULL)
> - return -1;
> + return -ENOMEM;
>
> dmi_decode_table(buf, decode, NULL);
>
> @@ -978,11 +978,11 @@ int dmi_walk(void (*decode)(const struct dmi_header *, void *),
> u8 *buf;
>
> if (!dmi_available)
> - return -1;
> + return -ENOENT;

-ENOSYS would seem more appropriate?

>
> buf = dmi_remap(dmi_base, dmi_len);
> if (buf == NULL)
> - return -1;
> + return -ENOMEM;
>
> dmi_decode_table(buf, decode, private_data);
>

There is a formatted comment before dmi_walk, which says "Returns -1
when the DMI table can't be reached". This comment needs to be updated.

Please also update the dmi_walk stub in include/linux/dmi.h when
CONFIG_DMI isn't set.

I don't think this patch should be in this series, I'd rather take it
in my dmi tree and push it to Linus immediately.

--
Jean Delvare
SUSE L3 Support