After examining the code to figure out the extent of the WAR in BZ 439246, it looks like I found a new bug :( drivers/acpi/bay.c is built in and registers a notifier for bay events, bay_events(). This handler is *very* simple and printks an event message and indicates that a status change has occurred through a uevent file. AFAICT, there is no way to determine what the status change actually was with the bay.c driver. drivers/acpi/ibm_acpi is loaded and creates sysfs files (which are the files we are currently using to manually interact with the device) and then attempts to register its own handler -- this fails because bay.c has already registered a handler. This results in the odd situation that RHEL5 is actually using TWO drivers for one device. ibm_acpi.c is not upstream so upstream doesn't have this situation. Thinking of doing the following: a) in bay.c introducing a blacklist file so that additional vendor drivers can override the generic bay.c driver. b) introducing a command line option so that other unknown systems can override. P.
epollard -- you should review the ibm_acpi drivers behavior to make sure that it is doing the right thing for all devices in the driver. P.
Created attachment 299477 [details] RHEL5 patch to fix this issue
Created attachment 299479 [details] RHEL5 patch to fix this issue Jarod provided me with a dmidecode dump from his T61. jwilson -- could you please test ASAP? Thanks, P.
I've got a RHEL5 install, including a kernel with this patch, up and running on a spare partition on my T61 now, will get this tested out properly Monday morning.
Works great on my T61.
in kernel-2.6.18-89.el5 You can download this test kernel from http://people.redhat.com/dzickus/el5
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on the solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHBA-2008-0314.html