James Smart
f0c2c023c2
scsi: lpfc: Fix pt2pt NVMe PRLI reject LOGO loop
...
commit 7f4c5a26f735dea4bbc0eb8eb9da99cda95a8563 upstream.
When connected point to point, the driver does not know the FC4's supported
by the other end. In Fabrics, it can query the nameserver. Thus the driver
must send PRLIs for the FC4s it supports and enable support based on the
acc(ept) or rej(ect) of the respective FC4 PRLI. Currently the driver
supports SCSI and NVMe PRLIs.
Unfortunately, although the behavior is per standard, many devices have
come to expect only SCSI PRLIs. In this particular example, the NVMe PRLI
is properly RJT'd but the target decided that it must LOGO after seeing the
unexpected NVMe PRLI. The LOGO causes the sequence to restart and login is
now in an infinite failure loop.
Fix the problem by having the driver, on a pt2pt link, remember NVMe PRLI
accept or reject status across logout as long as the link stays "up". When
retrying login, if the prior NVMe PRLI was rejected, it will not be sent on
the next login.
Link: https://lore.kernel.org/r/20220212163120.15385-1-jsmart2021@gmail.com
Cc: <stable@vger.kernel.org> # v5.4+
Reviewed-by: Ewan D. Milne <emilne@redhat.com>
Signed-off-by: James Smart <jsmart2021@gmail.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-23 11:59:59 +01:00
..
aacraid
scsi: aacraid: Fix error handling paths in aac_probe_one()
2020-10-01 13:17:56 +02:00
aic7xxx
scsi: aic7xxx: Fix unintentional sign extension issue on left shift of u8
2021-07-25 14:35:12 +02:00
aic94xx
scsi: libsas: Add LUN number check in .slave_alloc callback
2021-07-25 14:35:13 +02:00
arcmsr
arm
scsi: eesox: Fix different dev_id between request_irq() and free_irq()
2020-08-19 08:16:09 +02:00
be2iscsi
scsi: be2iscsi: Fix an error handling path in beiscsi_dev_probe()
2021-07-20 16:10:53 +02:00
bfa
scsi: bfa: Fix error return in bfad_pci_init()
2020-10-29 09:57:57 +01:00
bnx2fc
scsi: bnx2fc: Make bnx2fc_recv_frame() mp safe
2022-02-08 18:24:33 +01:00
bnx2i
scsi: iscsi: Fix shost->max_id use
2021-07-20 16:10:43 +02:00
csiostor
scsi: csiostor: Uninitialized data in csio_ln_vnp_read_cbfn()
2021-11-17 09:48:43 +01:00
cxgbi
scsi: iscsi: Fix shost->max_id use
2021-07-20 16:10:43 +02:00
cxlflash
scsi: cxlflash: Fix error return code in cxlflash_probe()
2020-10-01 13:18:02 +02:00
device_handler
scsi: scsi_dh_rdac: Avoid crash during rdac_bus_attach()
2021-08-26 08:36:14 -04:00
dpt
esas2r
fcoe
scsi: fcoe: Memory leak fix in fcoe_sysfs_fcf_del()
2020-09-03 11:26:47 +02:00
fnic
scsi: fnic: Fix memleak in vnic_dev_init_devcmd2
2021-02-07 15:35:48 +01:00
hisi_sas
scsi: libsas: Add LUN number check in .slave_alloc callback
2021-07-25 14:35:13 +02:00
ibmvscsi
scsi: ibmvfc: Fix invalid state machine BUG_ON()
2021-05-14 09:44:25 +02:00
ibmvscsi_tgt
isci
scsi: libsas: Add LUN number check in .slave_alloc callback
2021-07-25 14:35:13 +02:00
libfc
scsi: libfc: Fix array index out of bound exception
2021-07-25 14:35:13 +02:00
libsas
scsi: libsas: Add LUN number check in .slave_alloc callback
2021-07-25 14:35:13 +02:00
lpfc
scsi: lpfc: Fix pt2pt NVMe PRLI reject LOGO loop
2022-02-23 11:59:59 +01:00
megaraid
scsi: megaraid_mm: Fix end of loop tests for list_for_each_entry()
2021-08-26 08:36:14 -04:00
mpt3sas
scsi: mpt3sas: Fix kernel panic during drive powercycle test
2021-12-01 09:23:32 +01:00
mvsas
scsi: libsas: Add LUN number check in .slave_alloc callback
2021-07-25 14:35:13 +02:00
pcmcia
scsi: fdomain: Fix error return code in fdomain_probe()
2021-09-22 12:26:24 +02:00
pm8001
scsi: libsas: Add LUN number check in .slave_alloc callback
2021-07-25 14:35:13 +02:00
qedf
scsi: qedf: Fix refcount issue when LOGO is received during TMF
2022-02-16 12:52:48 +01:00
qedi
scsi: qedi: Fix error codes in qedi_alloc_global_queues()
2021-09-22 12:26:24 +02:00
qla2xxx
scsi: qla2xxx: Turn off target reset during issue_lip
2021-11-17 09:48:46 +01:00
qla4xxx
scsi: qla4xxx: Fix an error handling path in 'qla4xxx_get_host_stats()'
2020-10-29 09:57:36 +01:00
smartpqi
scsi: smartpqi: Fix an error code in pqi_get_raid_map()
2021-09-22 12:26:24 +02:00
snic
sym53c8xx_2
ufs
scsi: ufs: Fix race conditions related to driver data
2022-01-27 09:19:38 +01:00
.gitignore
3w-9xxx.c
3w-9xxx.h
3w-sas.c
3w-sas.h
3w-xxxx.c
3w-xxxx.h
53c700.c
53c700.h
53c700.scr
53c700_d.h_shipped
a100u2w.c
a100u2w.h
a2091.c
a2091.h
a3000.c
a3000.h
a4000t.c
advansys.c
scsi: advansys: Fix kernel pointer leak
2021-11-26 10:47:15 +01:00
aha152x.c
aha152x.h
aha1542.c
aha1542.h
aha1740.c
aha1740.h
am53c974.c
atari_scsi.c
atp870u.c
atp870u.h
BusLogic.c
scsi: BusLogic: Fix missing pr_cont() use
2021-09-22 12:26:37 +02:00
BusLogic.h
scsi: BusLogic: Fix 64-bit system enumeration error for Buslogic
2021-06-03 08:59:11 +02:00
bvme6000_scsi.c
ch.c
constants.c
dc395x.c
scsi: dc395: Fix error case unwinding
2021-11-17 09:48:41 +01:00
dc395x.h
dmx3191d.c
dpt_i2o.c
dpti.h
esp_scsi.c
esp_scsi.h
fdomain.c
fdomain.h
fdomain_isa.c
fdomain_pci.c
FlashPoint.c
scsi: FlashPoint: Rename si_flags field
2021-07-14 16:53:41 +02:00
g_NCR5380.c
gdth.c
gdth.h
gdth_ioctl.h
gdth_proc.c
gdth_proc.h
gvp11.c
gvp11.h
hosts.c
scsi: core: Fix shost->cmd_per_lun calculation in scsi_add_host_with_dma()
2021-10-27 09:54:29 +02:00
hpsa.c
scsi: hpsa: Fix memory leak in hpsa_init_one()
2020-11-18 19:20:22 +01:00
hpsa.h
hpsa_cmd.h
hptiop.c
hptiop.h
imm.c
imm.h
initio.c
initio.h
ipr.c
ipr.h
ips.c
ips.h
iscsi_boot_sysfs.c
scsi: iscsi: Fix reference count leak in iscsi_boot_create_kobj
2020-06-24 17:50:37 +02:00
iscsi_tcp.c
iscsi_tcp.h
jazz_esp.c
scsi: jazz_esp: Add IRQ check
2021-05-14 09:44:25 +02:00
Kconfig
scsi: sr: remove references to BLK_DEV_SR_VENDOR, leave it enabled
2020-07-22 09:32:57 +02:00
lasi700.c
libiscsi.c
scsi: libiscsi: Fix UAF in iscsi_conn_get_param()/iscsi_conn_teardown()
2022-01-11 15:23:33 +01:00
libiscsi_tcp.c
mac53c94.c
mac53c94.h
mac_esp.c
mac_scsi.c
Makefile
megaraid.c
megaraid.h
mesh.c
scsi: mesh: Fix panic after host or bus reset
2020-08-19 08:16:15 +02:00
mesh.h
mvme16x_scsi.c
mvme147.c
mvme147.h
mvumi.c
scsi: mvumi: Fix error return in mvumi_io_attach()
2020-10-29 09:58:04 +01:00
mvumi.h
myrb.c
myrb.h
myrs.c
scsi: myrs: Fix crash in error case
2022-02-16 12:52:49 +01:00
myrs.h
ncr53c8xx.c
ncr53c8xx.h
NCR5380.c
NCR5380.h
nsp32.c
nsp32.h
nsp32_debug.c
nsp32_io.h
pmcraid.c
pmcraid.h
ppa.c
ppa.h
ps3rom.c
qla1280.c
qla1280.h
qlogicfas.c
qlogicfas408.c
qlogicfas408.h
qlogicpti.c
qlogicpti.h
raid_class.c
script_asm.pl
scsi.c
scsi: core: Put LLD module refcnt after SCSI device is released
2021-11-06 13:59:44 +01:00
scsi.h
scsi_common.c
scsi_debug.c
scsi: scsi_debug: Sanity check block descriptor length in resp_mode_select()
2021-12-22 09:29:40 +01:00
scsi_debugfs.c
scsi: core: Show SCMD_LAST in text form
2022-01-27 09:19:52 +01:00
scsi_debugfs.h
scsi_devinfo.c
scsi: scsi_devinfo: Add blacklist entry for HPE OPEN-V
2021-06-18 09:58:59 +02:00
scsi_dh.c
scsi: dh: Add Fujitsu device to devinfo and dh lists
2020-07-29 10:18:27 +02:00
scsi_error.c
scsi_ioctl.c
scsi_lib.c
scsi: core: Retry I/O for Notify (Enable Spinup) Required error
2021-07-14 16:53:48 +02:00
scsi_lib_dma.c
scsi_logging.c
scsi_logging.h
scsi_netlink.c
scsi_pm.c
scsi_priv.h
scsi_proc.c
scsi_sas_internal.h
scsi_scan.c
scsi: core: Avoid printing an error if target_alloc() returns -ENXIO
2021-08-26 08:36:14 -04:00
scsi_sysctl.c
scsi_sysfs.c
scsi: core: sysfs: Fix setting device state to SDEV_RUNNING
2021-12-01 09:23:33 +01:00
scsi_trace.c
scsi_transport_api.h
scsi_transport_fc.c
scsi_transport_iscsi.c
scsi: iscsi: Unblock session then wake up error handler
2021-12-08 09:01:09 +01:00
scsi_transport_sas.c
scsi_transport_spi.c
scsi: scsi_transport_spi: Set RQF_PM for domain validation commands
2021-01-12 20:16:09 +01:00
scsi_transport_srp.c
scsi: scsi_transport_srp: Don't block target in SRP_PORT_LOST state
2021-04-21 12:56:14 +02:00
scsicam.c
sd.c
scsi: sd: Free scsi_disk device via put_device()
2021-10-09 14:39:49 +02:00
sd.h
sd_dif.c
sd_zbc.c
sense_codes.h
ses.c
scsi: ses: Fix unsigned comparison with less than zero
2021-10-17 10:42:34 +02:00
sg.c
sgiwd93.c
sim710.c
sni_53c710.c
scsi: sni_53c710: Add IRQ check
2021-05-14 09:44:25 +02:00
sr.c
scsi: sr: Don't use GFP_DMA
2022-01-27 09:19:48 +01:00
sr.h
sr_ioctl.c
sr_vendor.c
scsi: sr: Don't use GFP_DMA
2022-01-27 09:19:48 +01:00
st.c
scsi: st: Fix a use after free in st_open()
2021-04-07 14:47:39 +02:00
st.h
st_options.h
stex.c
storvsc_drv.c
sun3_scsi.c
sun3_scsi_vme.c
sun3x_esp.c
scsi: sun3x_esp: Add IRQ check
2021-05-14 09:44:25 +02:00
sun_esp.c
virtio_scsi.c
scsi: virtio_scsi: Fix spelling mistake "Unsupport" -> "Unsupported"
2021-10-17 10:42:34 +02:00
vmw_pvscsi.c
scsi: vmw_pvscsi: Set residual data length conditionally
2022-01-05 12:37:46 +01:00
vmw_pvscsi.h
wd33c93.c
wd33c93.h
wd719x.c
wd719x.h
xen-scsifront.c
zalon.c
zorro7xx.c
zorro_esp.c