lkml.org 
[lkml]   [2010]   [Jul]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[patch 148/149] [SCSI] qla2xxx: Disable MSI on qla24xx chips other than QLA2432.
    2.6.32-stable review patch.  If anyone has any objections, please let us know.

    ------------------

    From: Ben Hutchings <ben@decadent.org.uk>

    commit 6377a7ae1ab82859edccdbc8eaea63782efb134d upstream.

    On specific platforms, MSI is unreliable on some of the QLA24xx chips, resulting
    in fatal I/O errors under load, as reported in <http://bugs.debian.org/572322>
    and by some RHEL customers.

    Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com>
    Signed-off-by: James Bottomley <James.Bottomley@suse.de>
    Cc: Ben Hutchings <ben@decadent.org.uk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

    ---
    drivers/scsi/qla2xxx/qla_isr.c | 28 +++++++++++++---------------
    1 file changed, 13 insertions(+), 15 deletions(-)

    --- a/drivers/scsi/qla2xxx/qla_isr.c
    +++ b/drivers/scsi/qla2xxx/qla_isr.c
    @@ -2240,30 +2240,28 @@ 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))
    - goto skip_msix;
    + !IS_QLA8432(ha) && !IS_QLA8001(ha))
    + goto skip_msi;
    +
    + if (ha->pdev->subsystem_vendor == PCI_VENDOR_ID_HP &&
    + (ha->pdev->subsystem_device == 0x7040 ||
    + ha->pdev->subsystem_device == 0x7041 ||
    + ha->pdev->subsystem_device == 0x1705)) {
    + DEBUG2(qla_printk(KERN_WARNING, ha,
    + "MSI-X: Unsupported ISP2432 SSVID/SSDID (0x%X,0x%X).\n",
    + ha->pdev->subsystem_vendor,
    + ha->pdev->subsystem_device));
    + goto skip_msi;
    + }

    if (IS_QLA2432(ha) && (ha->pdev->revision < QLA_MSIX_CHIP_REV_24XX ||
    !QLA_MSIX_FW_MODE_1(ha->fw_attributes))) {
    DEBUG2(qla_printk(KERN_WARNING, ha,
    "MSI-X: Unsupported ISP2432 (0x%X, 0x%X).\n",
    ha->pdev->revision, ha->fw_attributes));
    -
    goto skip_msix;
    }

    - if (ha->pdev->subsystem_vendor == PCI_VENDOR_ID_HP &&
    - (ha->pdev->subsystem_device == 0x7040 ||
    - ha->pdev->subsystem_device == 0x7041 ||
    - ha->pdev->subsystem_device == 0x1705)) {
    - DEBUG2(qla_printk(KERN_WARNING, ha,
    - "MSI-X: Unsupported ISP2432 SSVID/SSDID (0x%X, 0x%X).\n",
    - ha->pdev->subsystem_vendor,
    - ha->pdev->subsystem_device));
    -
    - goto skip_msi;
    - }
    -
    ret = qla24xx_enable_msix(ha, rsp);
    if (!ret) {
    DEBUG2(qla_printk(KERN_INFO, ha,



    \
     
     \ /
      Last update: 2010-07-01 20:47    [W:4.057 / U:0.060 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site