linux/drivers/scsi
James Smart 8e062ce305 scsi: lpfc: Fix PLOGI S_ID of 0 on pt2pt config
Under some pt2pt situations, the other end of the link may issue a LOGO
after successfully completing PLOGI and assigning addresses to the port.
Thus the driver may attempt a new PLOGI to re-create the login, but the
LOGO handling cleared the address back to 0. Once this happens, the other
end, which may be address 0, gets all confused and this cannot be resolved
without an administrative action to bounce the link.

Fix by assuming that address assignment only occurs on the 1st PLOGI after
link up, and regardless of login state, the address assignment sticks.  The
FC standards aren't particularly clear in this situation (it only describes
initial PLOGI), but there is nothing that contradicts this and behaviors on
the devices tested appears to conform to the understanding.

Thus, don't reset the port address to 0 as part of LOGO handling. Port
addresses will only reset on link down.

Link: https://lore.kernel.org/r/20210104180240.46824-2-jsmart2021@gmail.com
Co-developed-by: Dick Kennedy <dick.kennedy@broadcom.com>
Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com>
Signed-off-by: James Smart <jsmart2021@gmail.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2021-01-07 23:02:35 -05:00
..
aacraid scsi: aacraid: Fix fall-through warnings for Clang 2020-12-02 12:59:46 -05:00
aic7xxx scsi: aic7xxx: Fix fall-through warnings for Clang 2020-12-02 12:59:46 -05:00
aic94xx scsi: aic94xx: Fix fall-through warnings for Clang 2020-12-02 12:59:46 -05:00
arcmsr scsi: arcmsr: Use generic power management 2020-11-25 23:14:30 -05:00
arm SCSI misc on 20201013 2020-10-14 15:15:35 -07:00
be2iscsi SCSI misc on 20201216 2020-12-16 13:34:31 -08:00
bfa scsi: bfa: Fix fall-through warnings for Clang 2020-12-02 12:59:46 -05:00
bnx2fc SCSI misc on 20201216 2020-12-16 13:34:31 -08:00
bnx2i scsi: bnx2i: Requires MMU 2020-12-02 12:59:04 -05:00
csiostor scsi: csiostor: Fix fall-through warnings for Clang 2020-12-02 12:59:47 -05:00
cxgbi scsi: cxgb4i: Fix TLS dependency 2020-12-09 12:14:41 -05:00
cxlflash ocxl: Update the Process Element Entry 2020-12-04 01:01:30 +11:00
device_handler SCSI misc on 20201216 2020-12-16 13:34:31 -08:00
dpt scsi: docs: convert dpti.txt to ReST 2020-03-11 23:07:59 -04:00
esas2r scsi: esas2r: Use generic power management 2020-11-25 23:14:31 -05:00
fcoe SCSI misc on 20201216 2020-12-16 13:34:31 -08:00
fnic scsi: fnic: Fix error return code in fnic_probe() 2020-12-07 20:31:36 -05:00
hisi_sas scsi: hisi_sas: Remove auto_affine_msi_experimental module_param 2021-01-07 22:52:46 -05:00
ibmvscsi scsi: ibmvfc: Relax locking around ibmvfc_queuecommand() 2021-01-07 22:37:13 -05:00
ibmvscsi_tgt treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
isci scsi: isci: Don't use PCI helper functions 2020-11-10 23:08:36 -05:00
libfc scsi: libfc: Fix enum-conversion warning 2020-10-29 21:52:02 -04:00
libsas SCSI misc on 20201013 2020-10-14 15:15:35 -07:00
lpfc scsi: lpfc: Fix PLOGI S_ID of 0 on pt2pt config 2021-01-07 23:02:35 -05:00
megaraid SCSI misc on 20201216 2020-12-16 13:34:31 -08:00
mpt3sas SCSI fixes on 20210101 2021-01-01 12:58:07 -08:00
mvsas scsi: mvsas: Remove superfluous memset() 2020-08-20 23:21:03 -04:00
pcmcia scsi: Remove unneeded break statements 2020-10-26 18:23:24 -04:00
pm8001 scsi: pm80xx: Fix error return in pm8001_pci_probe() 2020-12-07 17:35:10 -05:00
qedf scsi: libfc: Move scsi/fc_encode.h to libfc 2020-10-29 21:49:25 -04:00
qedi scsi: qedi: Fix missing destroy_workqueue() on error in __qedi_probe 2020-12-07 17:28:58 -05:00
qla2xxx SCSI misc on 20201216 2020-12-16 13:34:31 -08:00
qla4xxx scsi: qla4xxx: Remove redundant assignment to variable rval 2020-12-09 11:34:17 -05:00
smartpqi scsi: smartpqi: Update version to 1.2.16-012 2020-11-16 23:03:10 -05:00
snic scsi: snic: Simplify the return expression of svnic_cq_alloc() 2020-10-07 23:50:03 -04:00
sym53c8xx_2 scsi: Remove unneeded break statements 2020-10-26 18:23:24 -04:00
ufs scsi: ufs: Replace sprintf and snprintf with sysfs_emit 2021-01-07 22:42:44 -05:00
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
3w-9xxx.c scsi: 3w-9xxx: Use generic power management 2020-11-25 23:23:21 -05:00
3w-9xxx.h
3w-sas.c scsi: 3w-sas: Use generic power management 2020-11-25 23:23:21 -05:00
3w-sas.h
3w-xxxx.c compat_ioctl: move more drivers to compat_ptr_ioctl 2019-10-23 17:23:44 +02:00
3w-xxxx.h scsi: 3w-xxx: fully convert to the generic DMA API 2018-10-17 21:58:51 -04:00
53c700_d.h_shipped
53c700.c SCSI misc on 20201023 2020-10-23 16:19:02 -07:00
53c700.h 53c700: improve non-coherent DMA handling 2020-09-25 06:20:43 +02:00
53c700.scr
a100u2w.c cross-tree: phase out dma_zalloc_coherent() 2019-01-08 07:58:37 -05:00
a100u2w.h
a2091.c mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
a2091.h
a3000.c mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
a3000.h
a4000t.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
advansys.c scsi: advansys: Relocate or remove unused variables 2020-11-10 22:27:47 -05:00
aha152x.c scsi: aha152x: Remove unused variable 'ret' 2020-07-08 01:12:53 -04:00
aha152x.h
aha1542.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
aha1542.h
aha1740.c scsi: aha1740: Fix fall-through warnings for Clang 2020-12-02 12:59:46 -05:00
aha1740.h scsi: core: remove Scsi_Cmnd typedef 2018-06-19 22:02:25 -04:00
am53c974.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
atari_scsi.c scsi: atari_scsi: Fix race condition between .queuecommand and EH 2020-11-23 22:12:09 -05:00
atp870u.c scsi: core: Clean up SG_NONE 2019-11-12 22:21:35 -05:00
atp870u.h
BusLogic.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
BusLogic.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 388 2019-06-05 17:37:11 +02:00
bvme6000_scsi.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
ch.c scsi: ch: remove ch_mutex() 2020-02-24 14:54:25 -05:00
constants.c scsi: core: Add DID_ALLOC_FAILURE and DID_MEDIUM_ERROR to hostbyte_table 2020-04-01 22:03:04 -04:00
dc395x.c scsi: dc395x: Mark 's_stat2' as __maybe_unused 2020-11-10 22:27:47 -05:00
dc395x.h
dmx3191d.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 2019-05-24 17:36:45 +02:00
dpt_i2o.c scsi: dpt_i2o: Remove set but not used 'pHba' 2020-09-01 22:15:47 -04:00
dpti.h scsi: docs: convert dpti.txt to ReST 2020-03-11 23:07:59 -04:00
esp_scsi.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
esp_scsi.h scsi: esp_scsi: Add support for FSC chip 2019-12-19 22:08:51 -05:00
fdomain_isa.c scsi: fdomain_isa: Merge branches in fdomain_isa_match() 2020-09-02 22:49:07 -04:00
fdomain_pci.c scsi: fdomain: Resurrect driver - PCI support 2019-06-18 19:46:18 -04:00
fdomain.c scsi: fdomain: use BSTAT_{MSG|CMD|IO} in fdomain_work() 2019-07-30 12:17:28 -04:00
fdomain.h scsi: fdomain: Mark 'fdomain_pm_ops' as __maybe_unused 2020-07-08 01:12:44 -04:00
FlashPoint.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
g_NCR5380.c scsi: NCR5380: Remove context check 2020-12-07 20:24:09 -05:00
gdth_ioctl.h scsi: gdth: remove dead code under #ifdef GDTH_IOCTL_PROC 2019-01-08 21:58:35 -05:00
gdth_proc.c scsi: gdth: Use scnprintf() for avoiding potential buffer overflow 2020-03-17 13:36:10 -04:00
gdth_proc.h scsi: gdth: remove gdth_{alloc,free}_ioctl 2019-01-08 21:57:42 -05:00
gdth.c scsi: gdth: Make option_setup() static 2020-10-07 21:48:28 -04:00
gdth.h scsi: gdth: remove ISA and EISA support 2019-01-08 21:58:35 -05:00
gvp11.c mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
gvp11.h
hosts.c scsi: Add host and host template flag 'host_tagset' 2020-10-06 08:33:44 -06:00
hpsa_cmd.h scsi: hpsa: Update copyright 2020-09-02 22:49:06 -04:00
hpsa.c SCSI misc on 20201216 2020-12-16 13:34:31 -08:00
hpsa.h scsi: hpsa: Update copyright 2020-09-02 22:49:06 -04:00
hptiop.c scsi: Remove unneeded break statements 2020-10-26 18:23:24 -04:00
hptiop.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 285 2019-06-05 17:36:37 +02:00
imm.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
imm.h
initio.c scsi: initio: Use module_pci_driver() to simplify the code 2020-10-07 21:48:28 -04:00
initio.h
ipr.c scsi: Remove unneeded break statements 2020-10-26 18:23:24 -04:00
ipr.h scsi: ipr: Fix struct packed-not-aligned issues 2020-07-15 17:26:58 -04:00
ips.c scsi: ips: Convert strnlen() to memcpy() since result should not be NUL terminated 2020-07-24 22:32:00 -04:00
ips.h scsi: ips: properly handle 64-bit DMA 2018-11-06 21:31:28 -05:00
iscsi_boot_sysfs.c scsi: iscsi: Fix reference count leak in iscsi_boot_create_kobj 2020-06-02 21:23:47 -04:00
iscsi_tcp.c scsi: doc: Fix some kernel-doc markups 2020-10-26 21:54:16 -04:00
iscsi_tcp.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
jazz_esp.c scsi: jazz_esp: Use module_platform_driver to simplify the code 2020-10-02 21:52:52 -04:00
Kconfig scsi: lpfc: Add dependency on CPU_FREQ 2020-07-24 22:09:55 -04:00
lasi700.c mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
libiscsi_tcp.c scsi: libiscsi: use sendpage_ok() in iscsi_tcp_segment_map() 2020-10-02 15:27:08 -07:00
libiscsi.c SCSI misc on 20201216 2020-12-16 13:34:31 -08:00
mac53c94.c mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
mac53c94.h
mac_esp.c scsi: mac_esp: Use module_platform_driver to simplify the code 2020-10-02 21:52:53 -04:00
mac_scsi.c scsi: NCR5380: Remove context check 2020-12-07 20:24:09 -05:00
Makefile scsi: remove pointless $(MODVERDIR)/$(obj)/53c700.ver 2019-07-17 22:39:27 +09:00
megaraid.c SCSI misc on 20201013 2020-10-14 15:15:35 -07:00
megaraid.h scsi: core: remove Scsi_Cmnd typedef 2018-06-19 22:02:25 -04:00
mesh.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
mesh.h
mvme16x_scsi.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
mvme147.c mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
mvme147.h
mvumi.c scsi: mvumi: Update function description 2020-11-25 23:23:22 -05:00
mvumi.h scsi: Replace zero-length array with flexible-array member 2020-03-11 23:07:56 -04:00
myrb.c scsi: myrb: Remove WARN_ON(in_interrupt()) 2020-12-01 00:03:53 -05:00
myrb.h scsi: mylex: Use the correct style for SPDX License Identifier 2020-01-02 21:57:44 -05:00
myrs.c scsi: myrs: Remove WARN_ON(in_interrupt()) 2020-12-01 00:03:53 -05:00
myrs.h scsi: mylex: Use the correct style for SPDX License Identifier 2020-01-02 21:57:44 -05:00
ncr53c8xx.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
ncr53c8xx.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 2019-05-24 17:36:45 +02:00
NCR5380.c scsi: NCR5380: Remove context check 2020-12-07 20:24:09 -05:00
NCR5380.h scsi: NCR5380: Remove context check 2020-12-07 20:24:09 -05:00
nsp32_debug.c scsi: core: remove Scsi_Cmnd typedef 2018-06-19 22:02:25 -04:00
nsp32_io.h
nsp32.c scsi: nsp32: Remove unneeded semicolon 2020-09-15 17:34:18 -04:00
nsp32.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 118 2019-05-24 17:39:02 +02:00
pmcraid.c scsi: pmcraid: Use generic power management 2020-11-25 23:23:22 -05:00
pmcraid.h scsi: Replace zero-length array with flexible-array member 2020-03-11 23:07:56 -04:00
ppa.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
ppa.h
ps3rom.c powerpc/ps3: make system bus's remove and shutdown callbacks return void 2020-12-04 01:01:22 +11:00
qla1280.c scsi: qla1280: Remove set but not used variable in qla1280_status_entry() 2020-09-09 22:37:48 -04:00
qla1280.h scsi: qla1280: Fix dma firmware download, if dma address is 64bit 2020-01-15 23:09:11 -05:00
qlogicfas408.c scsi: qlogicfas408: clean up a couple of indentation issues 2019-03-19 17:11:37 -04:00
qlogicfas408.h
qlogicfas.c scsi: remove the use_clustering flag 2018-12-18 23:19:21 -05:00
qlogicpti.c SCSI misc on 20201013 2020-10-14 15:15:35 -07:00
qlogicpti.h scsi: qlogicpti: Use of_node_name_eq for node name comparisons 2019-02-13 22:07:03 -05:00
raid_class.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 437 2019-06-05 17:37:17 +02:00
script_asm.pl treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 2019-05-24 17:36:45 +02:00
scsi_common.c
scsi_debug.c SCSI misc on 20201013 2020-10-14 15:15:35 -07:00
scsi_debugfs.c scsi: scsi_debugfs: Use for_each_set_bit to simplify code 2019-07-30 12:42:55 -04:00
scsi_debugfs.h scsi: core: add SPDX tags to scsi midlayer files missing licensing information 2019-05-21 06:16:21 -04:00
scsi_devinfo.c scsi: doc: Fix some kernel-doc markups 2020-10-26 21:54:16 -04:00
scsi_dh.c scsi: dh: Add Fujitsu device to devinfo and dh lists 2020-07-08 01:16:23 -04:00
scsi_error.c SCSI misc on 20201013 2020-10-14 15:15:35 -07:00
scsi_ioctl.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
scsi_lib_dma.c
scsi_lib.c SCSI fixes on 20210101 2021-01-01 12:58:07 -08:00
scsi_logging.c scsi: core: Delete unnecessary buffer allocation for every loop iteration 2020-07-24 22:09:57 -04:00
scsi_logging.h scsi: core: Fix a compiler warning triggered by the SCSI logging code 2019-12-19 22:08:54 -05:00
scsi_netlink.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
scsi_pm.c scsi: block: pm: Simplify resume handling 2020-07-24 22:09:55 -04:00
scsi_priv.h scsi: core: Add limitless cmd retry support 2020-10-02 18:53:06 -04:00
scsi_proc.c proc: convert everything to "struct proc_ops" 2020-02-04 03:05:26 +00:00
scsi_sas_internal.h
scsi_scan.c scsi: core: Don't start concurrent async scan on same host 2020-10-26 16:05:34 -04:00
scsi_sysctl.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 209 2019-05-30 11:29:53 -07:00
scsi_sysfs.c scsi: core: Fix -Wformat for scsi_host 2020-11-16 22:33:59 -05:00
scsi_trace.c scsi: scsi_trace: Use get_unaligned_be24() 2020-03-16 22:08:36 -04:00
scsi_transport_api.h
scsi_transport_fc.c scsi: doc: Fix some kernel-doc markups 2020-10-26 21:54:16 -04:00
scsi_transport_iscsi.c scsi: iscsi: Fix inappropriate use of put_device() 2020-12-07 17:45:19 -05:00
scsi_transport_sas.c scsi: scsi_transport_sas: Add spaces around binary operator "|" 2020-08-04 20:56:56 -04:00
scsi_transport_spi.c scsi: scsi_transport_spi: Set RQF_PM for domain validation commands 2020-12-09 11:41:42 -05:00
scsi_transport_srp.c scsi: scsi_transport_srp: Sanitize scsi_target_block/unblock sequences 2020-07-30 21:15:26 -04:00
scsi.c scsi: core: Remove scsi_sdb_cache 2020-06-19 23:06:43 -04:00
scsi.h scsi: core: remove Scsi_Cmnd typedef 2018-06-19 22:02:25 -04:00
scsicam.c block: remove ->bd_contains 2020-12-01 14:53:39 -07:00
sd_dif.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 410 2019-06-05 17:37:14 +02:00
sd_zbc.c scsi: sd: sd_zbc: Fix ZBC disk initialization 2020-09-15 20:08:15 -04:00
sd.c block: remove the update_bdev parameter to set_capacity_revalidate_and_notify 2020-11-16 08:34:14 -07:00
sd.h SCSI misc on 20201013 2020-10-14 15:15:35 -07:00
sense_codes.h scsi: core: Update additional sense codes list 2020-09-15 20:28:06 -04:00
ses.c SCSI misc on 20190709 2019-07-11 15:14:01 -07:00
sg.c iov_iter: transparently handle compat iovecs in import_iovec 2020-10-03 00:02:13 -04:00
sgiwd93.c sgiwd93: convert to dma_alloc_noncoherent 2020-09-25 06:20:44 +02:00
sim710.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 2019-05-24 17:36:45 +02:00
sni_53c710.c scsi: sni_53c710: Use module_platform_driver to simplify the code 2020-10-02 21:52:54 -04:00
sr_ioctl.c sr: Switch the sector size back to 2048 if sr_read_sector() changed it. 2020-12-12 11:12:25 -07:00
sr_vendor.c scsi: sr: remove references to BLK_DEV_SR_VENDOR, leave it enabled 2020-02-24 14:59:01 -05:00
sr.c sr: Remove in_interrupt() usage in sr_init_command(). 2020-12-12 11:12:25 -07:00
sr.h scsi: sr: get rid of sr global mutex 2020-02-24 15:01:57 -05:00
st_options.h
st.c scsi: Remove unneeded break statements 2020-10-26 18:23:24 -04:00
st.h
stex.c scsi: stex: Fix fall-through warnings for Clang 2020-12-02 12:59:47 -05:00
storvsc_drv.c hyperv-next for 5.11 2020-12-16 11:49:46 -08:00
sun3_scsi_vme.c
sun3_scsi.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
sun3x_esp.c scsi: sun3x_esp: Use module_platform_driver to simplify the code 2020-10-02 21:52:55 -04:00
sun_esp.c scsi: sun_esp: Use module_platform_driver to simplify the code 2020-10-02 21:52:55 -04:00
virtio_scsi.c SCSI misc on 20201013 2020-10-14 15:15:35 -07:00
vmw_pvscsi.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
vmw_pvscsi.h
wd33c93.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
wd33c93.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 118 2019-05-24 17:39:02 +02:00
wd719x.c SCSI misc on 20190709 2019-07-11 15:14:01 -07:00
wd719x.h scsi: wd719x: use per-command private data 2018-11-15 14:27:08 -05:00
xen-scsifront.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
zalon.c remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
zorro7xx.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
zorro_esp.c mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00