summaryrefslogtreecommitdiff
path: root/drivers/scsi/lpfc/lpfc_nvme.c
diff options
context:
space:
mode:
authorJames Smart <jsmart2021@gmail.com>2017-04-21 16:05:00 -0700
committerChristoph Hellwig <hch@lst.de>2017-04-24 09:25:49 +0200
commit9d3d340d19d36b923d768f25c66cedc900d8ad90 (patch)
treeaffdbf5668f9aee3f8cbc3daf91a39834a8c7fea /drivers/scsi/lpfc/lpfc_nvme.c
parent2b7824d00d9cae2e625dcf6b004c5d738a9c8df4 (diff)
downloadlwn-9d3d340d19d36b923d768f25c66cedc900d8ad90.tar.gz
lwn-9d3d340d19d36b923d768f25c66cedc900d8ad90.zip
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>
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_nvme.c')
0 files changed, 0 insertions, 0 deletions