From 07b8a370473178725b4e84bf4cfc10fef0afcb9e Mon Sep 17 00:00:00 2001 From: Corey Minyard Date: Sun, 1 May 2005 08:59:10 -0700 Subject: [PATCH] --- yaml --- r: 735 b: refs/heads/master c: 9206880198589670dfc33feb9d2e903c3492701f h: refs/heads/master i: 733: f343a97f98b8993127810bd701dda545af3ba0f9 731: 2895e20eef8d5ef529227ff0cda391c2cd52340e 727: 4621157c762909245ddeeb3c73f6ebcc72df8524 719: 6f5867a89de55d0e71aaa5dd12bd39171b9054e5 703: ba53a08f499bd8ef777207c4f2fa1b5b563ff648 v: v3 --- [refs] | 2 +- trunk/drivers/char/ipmi/ipmi_si_intf.c | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index fd709977cda7..f59f37d835cf 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5717ffbe16815db229a66fee824c2190cb306734 +refs/heads/master: 9206880198589670dfc33feb9d2e903c3492701f diff --git a/trunk/drivers/char/ipmi/ipmi_si_intf.c b/trunk/drivers/char/ipmi/ipmi_si_intf.c index 44a7f13c788b..3522723eb6b8 100644 --- a/trunk/drivers/char/ipmi/ipmi_si_intf.c +++ b/trunk/drivers/char/ipmi/ipmi_si_intf.c @@ -1623,7 +1623,13 @@ static int decode_dmi(dmi_header_t *dm, int intf_num) } } 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; }