linux_dsm_epyc7002/drivers/scsi/lpfc
James Smart 9d3d340d19 Fix crash after issuing lip reset
When RPI is not available, driver sends WQE with invalid RPI value and
rejected by HBA.
lpfc 0000:82:00.3: 1:3154 BLS ABORT RSP failed, data:  x3/xa0320008
and
lpfc :2753 PLOGI failure DID:FFFFFA Status:x3/xa0240008

In this case, driver accesses rpi_ids array out of bounds.

Fix:
Check return value of lpfc_sli4_alloc_rpi(). Do not allocate
lpfc_nodelist entry if RPI is not available.

When RPI is not available, we will get discovery timeouts and
command drops for some of the vports as seen below.

lpfc :0273 Unexpected discovery timeout, vport State x0
lpfc :0230 Unexpected timeout, hba link state x5
lpfc :0111 Dropping received ELS cmd Data: x0 xc90c55 x0

Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com>
Signed-off-by: James Smart <james.smart@broadcom.com>
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
2017-04-24 09:25:49 +02:00
..
lpfc_attr.c Fix nvme initiator handling when not enabled. 2017-04-24 09:25:48 +02:00
lpfc_attr.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_bsg.c Fix crash after issuing lip reset 2017-04-24 09:25:49 +02:00
lpfc_bsg.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_compat.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_crtn.h Fix crash after issuing lip reset 2017-04-24 09:25:49 +02:00
lpfc_ct.c scsi: lpfc: code cleanups in NVME initiator discovery 2017-03-06 23:04:23 -05:00
lpfc_debugfs.c Fix extra line print in rqpair debug print. 2017-04-24 09:25:48 +02:00
lpfc_debugfs.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_disc.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_els.c Fix crash after issuing lip reset 2017-04-24 09:25:49 +02:00
lpfc_hbadisc.c Fix crash after issuing lip reset 2017-04-24 09:25:49 +02:00
lpfc_hw4.h scsi: lpfc: Rename LPFC_MAX_EQ_DELAY to LPFC_MAX_EQ_DELAY_EQID_CNT 2017-03-06 23:04:22 -05:00
lpfc_hw.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_ids.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_init.c Fix crash after issuing lip reset 2017-04-24 09:25:49 +02:00
lpfc_logmsg.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_mbox.c scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_mem.c scsi: lpfc: don't dereference dma_buf->iocbq before null check 2017-03-06 23:04:22 -05:00
lpfc_nl.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_nportdisc.c scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_nvme.c Fix driver load issues when MRQ=8 2017-04-24 09:25:49 +02:00
lpfc_nvme.h Remove unused defines for NVME PostBuf. 2017-04-24 09:25:48 +02:00
lpfc_nvmet.c Fix driver load issues when MRQ=8 2017-04-24 09:25:49 +02:00
lpfc_nvmet.h Standardize nvme SGL segment count 2017-04-24 09:25:48 +02:00
lpfc_scsi.c scsi: lpfc: add transport eh_timed_out reference 2017-03-06 23:04:22 -05:00
lpfc_scsi.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_sli4.h scsi: lpfc: add NVME exchange aborts 2017-03-06 23:04:22 -05:00
lpfc_sli.c Fix crash after issuing lip reset 2017-04-24 09:25:49 +02:00
lpfc_sli.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_version.h scsi: lpfc: revise version number to 11.2.0.10 2017-03-06 23:04:23 -05:00
lpfc_vport.c Fix crash after issuing lip reset 2017-04-24 09:25:49 +02:00
lpfc_vport.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc.h scsi: lpfc: code cleanups in NVME initiator base 2017-03-06 23:04:23 -05:00
Makefile scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00