Some people found some bugs and some missing functions in the IPMI driver,
so I have patching things together for the next release. The attached
patch moves to version 33 of the driver and contains:
* SMBIOS table support for specifying register spacing. This allows
non-contiguous registers to be specified and some machines do
this.
* ACPI table updates to support all the possible register sizes and
bit offsets into the registers for the IPMI information.
* Support for command line parameters to specify register
spacing, sizes, and bit offsets.
* Support for power control with IPMI. This allows a halt to
power down a machine with IPMI.
* A fix for a race condition with interrupts enabled on an
SMP machine. A lock was released then reclaimed, but
there was code later that assumed that had not happened.
* A fix for protecting the driver against bad responses from
the controller chip. In the past, the driver had assumed that
the controller chip would not give it bad data. This has
turned out to be a bad assumption
* ACPI interrupt handlers now return a return value, adjust
accordingly.
Thank you to all the people who helped me with this.