From: Li Shaohua <shaohua.li@intel.com>

In one of machines in our lab, spmi->addr.register_bit_width is 0 (so the
returned address is invalid).  Ignoring the check will cause inserting the
module oops.

Signed-off-by: Li Shaohua<shaohua.li@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/drivers/char/ipmi/ipmi_si_intf.c |    5 +++++
 1 files changed, 5 insertions(+)

diff -puN drivers/char/ipmi/ipmi_si_intf.c~fix-oops-when-inserting-ipmi_si-module drivers/char/ipmi/ipmi_si_intf.c
--- 25/drivers/char/ipmi/ipmi_si_intf.c~fix-oops-when-inserting-ipmi_si-module	2005-03-17 01:42:30.000000000 -0800
+++ 25-akpm/drivers/char/ipmi/ipmi_si_intf.c	2005-03-17 01:42:30.000000000 -0800
@@ -1477,6 +1477,11 @@ static int try_init_acpi(int intf_num, s
 	if (!is_new_interface(-1, addr_space, spmi->addr.address))
 		return -ENODEV;
 
+	if (!spmi->addr.register_bit_width) {
+		acpi_failure = 1;
+		return -ENODEV;
+	}
+
 	/* Figure out the interface type. */
 	switch (spmi->InterfaceType)
 	{
_