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;