[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [dmidecode] [Patch v3] firmware: dmi-sysfs: add SMBIOS entry point a

From: Ivan Khoronzhuk
Subject: Re: [dmidecode] [Patch v3] firmware: dmi-sysfs: add SMBIOS entry point area raw attribute
Date: Tue, 03 Feb 2015 16:47:06 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0

On 02/03/2015 12:49 PM, Matt Fleming wrote:
On Wed, 28 Jan, at 05:56:25PM, Ivan Khoronzhuk wrote:
diff --git a/drivers/firmware/dmi-sysfs.c b/drivers/firmware/dmi-sysfs.c
index e0f1cb3..61b6a38 100644
--- a/drivers/firmware/dmi-sysfs.c
+++ b/drivers/firmware/dmi-sysfs.c
@@ -29,6 +29,8 @@
  #define MAX_ENTRY_TYPE 255 /* Most of these aren't used, but we consider
                              the top entry type is only 8 bits */
+static const u8 *smbios_raw_header;
There appears to be a mixture of u8 and unsigned char going on here, cf.

While I'm pretty sure all architectures typedef them to be equivalent,
semantically, as a reviewer this makes me think there are type issues.

Is there any way to use one data type for the SMBIOS header?

Let it be u8 in both cases.

@@ -669,6 +699,18 @@ static int __init dmi_sysfs_init(void)
                goto err;
+       smbios_raw_header = dmi_get_smbios_entry_area(&size);
+       if (!smbios_raw_header) {
+               pr_debug("dmi-sysfs: SMBIOS raw data is not available.\n");
+               error = -ENODATA;
+               goto err;
Perhaps this should be -EINVAL? -ENODATA implies that if you try again
in the future data might be available, i.e. it's a temporary failure.
That's not the case here since the header is invalid.

Yes, -EINVAL is better.
I'll send new patch soon.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]