dmi_table counting in ipmi_si_intf.c

From: Vernon Mauery
Date: Tue Aug 09 2005 - 10:45:51 EST


I am working on getting one of the IBM blades to use ipmi and have run
into a problem. The driver doesn't load because it says it can't find
the device.

dmidecode shows that there are 39 entries and that the last one is the
BMC. I looked into dmi_table and noticed that it parses the table by
length and by number of entries. But I found that it goes from i=1 to
i<num. This causes it to skip the last entry in the table. Is there a
reason it is i=1 instead of i=0? or for that matter i<num instead of
i<=num?

Ensure that all dmi table entries get parsed.

Signed-off-by: Vernon Mauery <vernux@xxxxxxxxxx>
---

diff -uar a/drivers/char/ipmi/ipmi_si_intf.c b/drivers/char/ipmi/ipmi_si_intf.c
--- a/drivers/char/ipmi/ipmi_si_intf.c 2005-08-09 08:11:41.000000000 -0700
+++ b/drivers/char/ipmi/ipmi_si_intf.c 2005-08-09 08:12:51.000000000 -0700
@@ -1690,7 +1690,7 @@ static int dmi_table(u32 base, int len,
u8 __iomem *buf;
struct dmi_header __iomem *dm;
u8 __iomem *data;
- int i=1;
+ int i=0;
int status=-1;
int intf_num = 0;



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/