diff options
| author | James Smart <james.smart@broadcom.com> | 2020-11-15 11:26:38 -0800 |
|---|---|---|
| committer | Martin K. Petersen <martin.petersen@oracle.com> | 2020-11-17 00:43:55 -0500 |
| commit | a70e63eee1c14257f73ce9ec6d0c9db28f77f9ad (patch) | |
| tree | a97a571059910ef6f333cd1eb43e970a113c4125 /tools/perf/scripts/python/net_dropmonitor.py | |
| parent | b3f2e67cc2dd59fffeffd35b1526a081bbec9490 (diff) | |
| download | linux-a70e63eee1c14257f73ce9ec6d0c9db28f77f9ad.tar.gz linux-a70e63eee1c14257f73ce9ec6d0c9db28f77f9ad.zip | |
scsi: lpfc: Fix NPIV Fabric Node reference counting
While testing initiator-side cable swaps with NPIV, oops occur. The
reference counts for the Fabric nodes on the NPIV vports isn't balanced,
resulting in premature node removal.
The following fixes were made:
- Removed the FC_LBIT check in lpfc_linkup_port. This removed the special
case for vports that didn't have them clean up just like the physical
port.
- Removed the unreg_rpi call in lpfc_cleanup_node. In this section, the
node is being removed in the context of a reference count release and a
mailbox command can't be issued at this point.
- Remove special case handling in the default mailbox completion handler
that allowed the skipping of a node reference. Now, reference counting
always requires the removal of the reference.
- Move the location of the DEVICE_RM event is done during LOGO handling as
the driver has additional work to do on the ndlp before puts/releases
can be performed.
Link: https://lore.kernel.org/r/20201115192646.12977-10-james.smart@broadcom.com
Co-developed-by: Dick Kennedy <dick.kennedy@broadcom.com>
Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com>
Signed-off-by: James Smart <james.smart@broadcom.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'tools/perf/scripts/python/net_dropmonitor.py')
0 files changed, 0 insertions, 0 deletions
