IPMI driver version 18 release

IPMI driver version 18 release

Post by Corey Minyar » Fri, 21 Feb 2003 06:20:05

I found a few stupid bugs in the IPMI driver dealing with certain error
cases, and this also contains the documentation updates that I have not
sent to Linus enough times to be included yet :-).

The 2.5 version is attached.  The 2.4 version is at:


[ linux-ipmi-2.5.62-v17-v18.diff 2K ]
diff -urN linux.orig/Documentation/IPMI.txt linux/Documentation/IPMI.txt
--- linux.orig/Documentation/IPMI.txt   Tue Jan 14 11:16:08 2003

+The Intelligent Platform Management Interface, or IPMI, is a
+standard for controlling intelligent devices that monitor a system.
+It provides for dynamic discovery of sensors in the system and the
+ability to monitor the sensors and be informed when the sensor's
+values change or go outside certain boundaries.  It also has a
+standardized database for field-replacable units (FRUs) and a watchdog
+To use this, you need an interface to an IPMI controller in your
+system (called a Baseboard Management Controller, or BMC) and
+management software that can use the IPMI system.
 This document describes how to use the IPMI driver for Linux.  If you
 are not familiar with IPMI itself, see the web site at
 http://www.intel.com/design/servers/ipmi/index.htm.  IPMI is a big
diff -urN linux.orig/drivers/char/ipmi/Kconfig linux/drivers/char/ipmi/Kconfig
--- linux.orig/drivers/char/ipmi/Kconfig        Tue Jan 14 11:16:10 2003

        tristate 'IPMI top-level message handler'
          This enables the central IPMI message handler, required for IPMI
-        to work.  Note that you must have this enabled to do any other IPMI
-        things.  See IPMI.txt for more details.
+        to work.
+         IPMI is a standard for managing sensors (temperature,
+         voltage, etc.) in a system.
+         See Documentation/IPMI.txt for more details on the driver.
+        If unsure, say N.

        bool 'Generate a panic event to all BMCs on a panic'
diff -urN linux.orig/drivers/char/ipmi/ipmi_msghandler.c linux/drivers/char/ipmi/ipmi_msghandler.c
--- linux.orig/drivers/char/ipmi/ipmi_msghandler.c      Tue Jan 14 11:16:10 2003

        unsigned int i;

        for (i=intf->curr_seq;
-            i!=(intf->curr_seq-1);
+            (i+1)%IPMI_IPMB_NUM_SEQ != intf->curr_seq;

                                   probably, so abort. */
-                               ipmi_free_recv_msg(recv_msg);
-                               ipmi_free_smi_msg(smi_msg);
                                goto out_err;


1. IPMI driver version 19 release

Do you really want to udelay this long with interrupts disabled?
Certainly comments in kcs_event[_handler] indicate you're aware of the
issue, but the code does not belie this fact :)

Not only is the udelay itself "long" relatively speaking, but it's in a
loop.  Which also calls a function that contains a loop that is
potentially infinite is hardware is being wonky.


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

2. Runtime libraries in gcc/g++.

3. New version of the IPMI driver (version 23)

4. apache ?

5. WN version 1.18.1 released

6. adding ioctl

7. GNU Fortran (g77) Version 0.5.18 Released

8. new 2 linux

9. Version 14 of the IPMI driver

10. IPMI driver for Linux, version 7

11. Version 15 of the Linux IPMI driver

12. IPMI driver for Linux, version 5