* [PATCH] Fix for handling bad IPMI DMI data
@ 2005-04-25 17:08 Corey Minyard
0 siblings, 0 replies; only message in thread
From: Corey Minyard @ 2005-04-25 17:08 UTC (permalink / raw)
To: Andrew Morton; +Cc: lkml
[-- Attachment #1: Type: text/plain, Size: 1 bytes --]
[-- Attachment #2: ipmi_dmi_fix.diff --]
[-- Type: text/x-patch, Size: 1037 bytes --]
Ignore the bottom bit of the base address from the DMI data. It
is supposed to be set to 1 if it is I/O space. Few systems do this,
but this enables the ones that do set it to work properly.
Signed-off-by: Corey Minyard <minyard@acm.org>
Index: linux-2.6.12-rc2/drivers/char/ipmi/ipmi_si_intf.c
===================================================================
--- linux-2.6.12-rc2.orig/drivers/char/ipmi/ipmi_si_intf.c
+++ linux-2.6.12-rc2/drivers/char/ipmi/ipmi_si_intf.c
@@ -1654,7 +1654,13 @@
}
} else {
/* Old DMI spec. */
- ipmi_data->base_addr = base_addr;
+ /* Note that technically, the lower bit of the base
+ * address should be 1 if the address is I/O and 0 if
+ * the address is in memory. So many systems get that
+ * wrong (and all that I have seen are I/O) so we just
+ * ignore that bit and assume I/O. Systems that use
+ * memory should use the newer spec, anyway. */
+ ipmi_data->base_addr = base_addr & 0xfffe;
ipmi_data->addr_space = IPMI_IO_ADDR_SPACE;
ipmi_data->offset = 1;
}
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2005-04-25 17:20 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-04-25 17:08 [PATCH] Fix for handling bad IPMI DMI data Corey Minyard
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox