Why does my Red Hat Enterprise Linux 5.3 system running the Xen kernel and the bnx2 driver throw call traces or hang under load?

Updated -

Release Found: Red Hat Enterprise Linux 5.3

Problem

When running under the Xen kernel and using Broadcom NICS with the bnx2 driver, Red Hat Enterprise Linux 5.3 systems may hang or throw call traces. This behavior is caused by a bug in the bnx2 driver where the Message Signaled Interrupts Extension (MSI-X) is not supported. The IRQ handler is set to the MSI handler even when pci_enable_msix() returns failure. In the Xen kernel, the call always returns failure and will use the MSI handler for INTA operations. This means that the MSI handler will not mask INTA properly.

Solution

While a patch for this bug has been submitted upstream for approval, the fix has not been included with Red Hat Enterprise Linux at the time of this writing. Please contact Red Hat support for further details. In the meantime, the problem may be worked around by disabling MSI for the bnx2 driver. In order to do this, add the following line to the system's /etc/modprobe.conf file:

options bnx2 "disable_msi=1"

Comments