~bladernr/ubuntu/+source/linux/+git/jammy:1988711-lpfc-to-14.2.0.5

Last commit made on 2022-10-03
Get this branch:
git clone -b 1988711-lpfc-to-14.2.0.5 https://git.launchpad.net/~bladernr/ubuntu/+source/linux/+git/jammy
Only Jeff Lane  can upload to this branch. If you are Jeff Lane  please log in for upload directions.

Branch merges

Branch information

Name:
1988711-lpfc-to-14.2.0.5
Repository:
lp:~bladernr/ubuntu/+source/linux/+git/jammy

Recent commits

de90254... by James Smart <email address hidden>

scsi: lpfc: Copyright updates for 14.2.0.5 patches

BugLink: https://bugs.launchpad.net/bugs/1988711

Update copyrights to 2022 for files modified in the 14.2.0.5 patch set.

Link: https://<email address hidden>
Co-developed-by: Justin Tee <email address hidden>
Signed-off-by: Justin Tee <email address hidden>
Signed-off-by: James Smart <email address hidden>
Signed-off-by: Martin K. Petersen <email address hidden>
(cherry picked from commit b3d11f195cbbe665c100b964f6837984b4226cd1)
Signed-off-by: Jeff Lane <email address hidden>

cc089dc... by James Smart <email address hidden>

scsi: lpfc: Update lpfc version to 14.2.0.5

BugLink: https://bugs.launchpad.net/bugs/1988711

Update lpfc version to 14.2.0.5

Link: https://<email address hidden>
Co-developed-by: Justin Tee <email address hidden>
Signed-off-by: Justin Tee <email address hidden>
Signed-off-by: James Smart <email address hidden>
Signed-off-by: Martin K. Petersen <email address hidden>
(cherry picked from commit 71faf8d30fdb7c0ea88caa785e97ed697f048f14)
Signed-off-by: Jeff Lane <email address hidden>

0df490a... by James Smart <email address hidden>

scsi: lpfc: Refactor lpfc_nvmet_prep_abort_wqe() into lpfc_sli_prep_abort_xri()

BugLink: https://bugs.launchpad.net/bugs/1988711

lpfc_nvmet_prep_abort_wqe() has a lot of common code with
lpfc_sli_prep_abort_xri().

Delete lpfc_nvmet_prep_abort_wqe() as the wqe can be filled out using the
generic lpfc_sli_prep_abort_xri routine(). Add the wqec option to
lpfc_sli_prep_abort_xri() for lpfc_nvmet_prep_abort_wqe().

Link: https://<email address hidden>
Co-developed-by: Justin Tee <email address hidden>
Signed-off-by: Justin Tee <email address hidden>
Signed-off-by: James Smart <email address hidden>
Signed-off-by: Martin K. Petersen <email address hidden>
(cherry picked from commit b21c9deb1479bcbeea8b06c490a815690c7c86e9)
Signed-off-by: Jeff Lane <email address hidden>

d3b6cff... by James Smart <email address hidden>

scsi: lpfc: Revert RSCN_MEMENTO workaround for misbehaved configuration

BugLink: https://bugs.launchpad.net/bugs/1988711

The RSCN_MEMENTO logic was to workaround a target that does not register
both FCP and NVMe FC4 types at the same time. This caused the
configuration to not produce a second RSCN for the NVMe FC4 type
registration in a timely manner. The intention of the RSCN_MEMENTO flag
was to always signal to try NVMe PRLI.

However, there are other FCP-only target arrays in correctly behaved
configurations that reject the NVMe PRLI followed by a LOGO leading to
never rediscovering the target after an issue_lip (as LOGO causes a repeat
of PLOGI/PRLIs).

Revert the RSCN_MEMENTO patch as it is causing correctly behaved configs to
fail while it exists only to succeed on a misbehaved config.

Link: https://<email address hidden>
Fixes: 1045592fc968 ("scsi: lpfc: Introduce FC_RSCN_MEMENTO flag for tracking post RSCN completion")
Co-developed-by: Justin Tee <email address hidden>
Signed-off-by: Justin Tee <email address hidden>
Signed-off-by: James Smart <email address hidden>
Signed-off-by: Martin K. Petersen <email address hidden>
(cherry picked from commit ffc566411aded3c12c63e1310fb23830e9608c59)
Signed-off-by: Jeff Lane <email address hidden>

0c6f3fb... by James Smart <email address hidden>

scsi: lpfc: Fix lost NVMe paths during LIF bounce stress test

BugLink: https://bugs.launchpad.net/bugs/1988711

During a target link bounce test, the driver sees a mismatch between the
NPortId and the WWPN on the node structures (ndlps) involved. When this
occurs, the driver "swaps" the ndlp and new_ndlp node parameters to restore
WWPN/DID uniqueness in the fc_nodes list per vport. However, the driver
neglected to swap the nlp_fc4_type in the ndlp passed to
lpfc_plogi_confirm_nport causing a failure to recover the NVMe PLOGI/PRLI
and ultimately the NVMe paths.

Correct confirm_nport to preserve the fc4 types from the new-ndlp when the
data is moved over ot the ndlp structure.

Link: https://<email address hidden>
Co-developed-by: Justin Tee <email address hidden>
Signed-off-by: Justin Tee <email address hidden>
Signed-off-by: James Smart <email address hidden>
Signed-off-by: Martin K. Petersen <email address hidden>
(cherry picked from commit ea92e173dc55460f1b9e71df5ceac951c506d214)
Signed-off-by: Jeff Lane <email address hidden>

e2d38fe... by James Smart <email address hidden>

scsi: lpfc: Fix possible memory leak when failing to issue CMF WQE

BugLink: https://bugs.launchpad.net/bugs/1988711

There is no corresponding free routine if lpfc_sli4_issue_wqe fails to
issue the CMF WQE in lpfc_issue_cmf_sync_wqe.

If ret_val is non-zero, then free the iocbq request structure.

Link: https://<email address hidden>
Co-developed-by: Justin Tee <email address hidden>
Signed-off-by: Justin Tee <email address hidden>
Signed-off-by: James Smart <email address hidden>
Signed-off-by: Martin K. Petersen <email address hidden>
(cherry picked from commit 2f67dc7970bce3529edce93a0a14234d88b3fcd5)
Signed-off-by: Jeff Lane <email address hidden>

58a7541... by James Smart <email address hidden>

scsi: lpfc: Remove extra atomic_inc on cmd_pending in queuecommand after VMID

BugLink: https://bugs.launchpad.net/bugs/1988711

VMID introduced an extra increment of cmd_pending, causing double-counting
of the I/O. The normal increment ios performed in lpfc_get_scsi_buf.

Link: https://<email address hidden>
Fixes: 33c79741deaf ("scsi: lpfc: vmid: Introduce VMID in I/O path")
Cc: <email address hidden> # v5.14+
Co-developed-by: Justin Tee <email address hidden>
Signed-off-by: Justin Tee <email address hidden>
Signed-off-by: James Smart <email address hidden>
Signed-off-by: Martin K. Petersen <email address hidden>
(cherry picked from commit 0948a9c5386095baae4012190a6b65aba684a907)
Signed-off-by: Jeff Lane <email address hidden>

2e71f3d... by James Smart <email address hidden>

scsi: lpfc: Set PU field when providing D_ID in XMIT_ELS_RSP64_CX iocb

BugLink: https://bugs.launchpad.net/bugs/1988711

When providing a D_ID in XMIT_ELS_RSP64_CX iocb the PU field should
be set to 3 to describe the parameter being passed to firmware.

Link: https://<email address hidden>
Co-developed-by: Justin Tee <email address hidden>
Signed-off-by: Justin Tee <email address hidden>
Signed-off-by: James Smart <email address hidden>
Signed-off-by: Martin K. Petersen <email address hidden>
(cherry picked from commit 35251b4d79db4ca2efeb63d6bc8fc463aa867156)
Signed-off-by: Jeff Lane <email address hidden>

4592213... by James Smart <email address hidden>

scsi: lpfc: Prevent buffer overflow crashes in debugfs with malformed user input

BugLink: https://bugs.launchpad.net/bugs/1988711

Malformed user input to debugfs results in buffer overflow crashes. Adapt
input string lengths to fit within internal buffers, leaving space for NULL
terminators.

Link: https://<email address hidden>
Co-developed-by: Justin Tee <email address hidden>
Signed-off-by: Justin Tee <email address hidden>
Signed-off-by: James Smart <email address hidden>
Signed-off-by: Martin K. Petersen <email address hidden>
(cherry picked from commit f8191d40aa612981ce897e66cda6a88db8df17bb)
Signed-off-by: Jeff Lane <email address hidden>

1f232c0... by James Smart <email address hidden>

scsi: lpfc: Fix uninitialized cqe field in lpfc_nvme_cancel_iocb()

BugLink: https://bugs.launchpad.net/bugs/1988711

In lpfc_nvme_cancel_iocb(), a cqe is created locally from stack storage.
The code didn't initialize the total_data_placed word, inheriting stack
content.

Initialize the total_data_placed word.

Link: https://<email address hidden>
Co-developed-by: Justin Tee <email address hidden>
Signed-off-by: Justin Tee <email address hidden>
Signed-off-by: James Smart <email address hidden>
Signed-off-by: Martin K. Petersen <email address hidden>
(cherry picked from commit 4ecc9b0271a7623deabcbe8fcb39f065701d8f74)
Signed-off-by: Jeff Lane <email address hidden>