IPMI driver may hang when two request are issued at the same time

Solution Verified - Updated -

Issue

  • While two IPMI clients issuing the requests to IPMI driver at the same time, the deadlock situation may happen.
  • This is because IPMI driver uses two different kinds of lock variables, smi_info->msg_lock & smi_info->si_lock and two requests from clients get one of these two locks and waits the other lock respectively in some situations.
  • This is one of the typical deadlock case.
  • This problem is already fixed in upstream kernels and RHEL6.4. In that fix , one of the two locks is eliminated because the structure of IPMI driver is changed so that its function works as a kernel thread.
  • So, this deadlock never happens after the fix.
  • The related part in the change log of RHEL6.4 is this.
 +- [char] ipmi: use a tasklet for handling received messages (Prarit 
  Bhargava) [890160]
  • We want the same fix for the RHEL5.9 errata and RH5.10GA

Environment

  • Red Hat Enterprise Linux 5 Update 6
  • Architecture: x86_64
  • Kernel Version: kernel-2.6.18-238.el5

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content