Index: linux-2.6.29.1/drivers/scsi/qla2xxx/qla_isr.c =================================================================== --- linux-2.6.29.1.orig/drivers/scsi/qla2xxx/qla_isr.c +++ linux-2.6.29.1/drivers/scsi/qla2xxx/qla_isr.c @@ -1983,7 +1983,13 @@ qla2x00_request_irqs(struct qla_hw_data /* If possible, enable MSI-X. */ if (!IS_QLA2432(ha) && !IS_QLA2532(ha) && !IS_QLA8432(ha) && !IS_QLA8001(ha)) +#ifdef CONFIG_PREEMPT_RT + /* Observed IO timeouts with MSI iterrupts on -rt kernel. */ + /* This code change forces the driver to use APIC interrupts. */ + goto skip_msi; +#else goto skip_msix; +#endif /* CONFIG_PREEMPT_RT */ if (IS_QLA2432(ha) && (ha->pdev->revision < QLA_MSIX_CHIP_REV_24XX || !QLA_MSIX_FW_MODE_1(ha->fw_attributes))) { Index: linux-2.6.29.1/drivers/scsi/qla2xxx/qla_version.h =================================================================== --- linux-2.6.29.1.orig/drivers/scsi/qla2xxx/qla_version.h +++ linux-2.6.29.1/drivers/scsi/qla2xxx/qla_version.h @@ -7,7 +7,7 @@ /* * Driver version */ -#define QLA2XXX_VERSION "8.03.00-k4" +#define QLA2XXX_VERSION "8.03.00-k4-rt1" #define QLA_DRIVER_MAJOR_VER 8 #define QLA_DRIVER_MINOR_VER 3