James/Linux-scsi, The following patch for megaraid_sas calls tasklet_schedule() even if outbount_intr_status == 0 for MFI based boards in MSI-X mode. Signed-off-by: Adam Radford <aradford@xxxxxxxxx> diff -Naur linux-2.6.38-rc5/drivers/scsi/megaraid/megaraid_sas_base.c linux-2.6.38-rc5.new/drivers/scsi/megaraid/megaraid_sas_base.c --- linux-2.6.38-rc5/drivers/scsi/megaraid/megaraid_sas_base.c 2011-02-19 13:56:23.161332770 -0800 +++ linux-2.6.38-rc5.new/drivers/scsi/megaraid/megaraid_sas_base.c 2011-02-19 13:57:43.120395558 -0800 @@ -2503,7 +2503,9 @@ if ((mfiStatus = instance->instancet->clear_intr( instance->reg_set) ) == 0) { - return IRQ_NONE; + /* Hardware may not set outbound_intr_status in MSI-X mode */ + if (!instance->msi_flag) + return IRQ_NONE; } instance->mfiStatus = mfiStatus;
Attachment:
megaraid_sas.patch4
Description: Binary data