OpenCloudOS-Kernel/drivers/firmware
Carol Hebert abd24df828 ipmi: change device node ordering to reflect probe order
In 2.6.14 a patch was merged which switching the order of the ipmi device
naming from in-order-of-discovery over to reverse-order-of-discovery.

So on systems with multiple BMC interfaces, the ipmi device names are being
created in reverse order relative to how they are discovered on the system
(e.g.  on an IBM x3950 multinode server with N nodes, the device name for the
BMC in the first node is /dev/ipmiN-1 and the device name for the BMC in the
last node is /dev/ipmi0, etc.).

The problem is caused by the list handling routines chosen in dmi_scan.c.
Using list_add() causes the multiple ipmi devices to be added to the device
list using a stack-paradigm and so the ipmi driver subsequently pulls them off
during initialization in LIFO order.  This patch changes the
dmi_save_ipmi_device() list handling paradigm to a queue, thereby allowing the
ipmi driver to build the ipmi device names in the order in which they are
found on the system.

Signed-off-by: Carol Hebert <cah@us.ibm.com>
Signed-off-by: Corey Minyard <cminyard@mvista.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-04-04 14:46:26 -07:00
..
Kconfig DMI-based module autoloading 2007-07-11 16:09:00 -07:00
Makefile DMI-based module autoloading 2007-07-11 16:09:00 -07:00
dcdbas.c dcdbas: add DMI-based module autloading 2008-02-06 10:41:01 -08:00
dcdbas.h define global BIT macro 2007-10-19 11:53:42 -07:00
dell_rbu.c sysfs: add parameter "struct bin_attribute *" in .read/.write methods for sysfs binary attributes 2007-07-11 16:09:09 -07:00
dmi-id.c Remove inclusions of <linux/autoconf.h> 2008-02-06 10:41:00 -08:00
dmi_scan.c ipmi: change device node ordering to reflect probe order 2008-04-04 14:46:26 -07:00
edd.c drivers/firmware/: Spelling fixes 2008-02-03 17:13:40 +02:00
efivars.c Kobject: convert drivers/* from kobject_unregister() to kobject_put() 2008-01-24 20:40:40 -08:00
pcdp.c serial: convert early_uart to earlycon for 8250 2007-07-16 09:05:35 -07:00
pcdp.h [IA64] Make PCDP work again. 2005-07-13 11:56:32 -07:00