Commit Graph

8761 Commits

Author SHA1 Message Date
Gleb Chesnokov
fadf76ffc4 qla2x00t-32gbit: Fix incorrect display of max frame size
Replace display field with the correct field.

Link: https://lore.kernel.org/r/20220713052045.10683-3-njavali@marvell.com
Fixes: 8777e4314d39 ("scsi: qla2xxx: Migrate NVME N2N handling into state machine")
Cc: stable@vger.kernel.org
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
Signed-off-by: Bikash Hazarika <bhazarika@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
[ commit cf3b4fb65579 upstream ]
2022-09-13 11:47:01 +03:00
Gleb Chesnokov
9dcf496c60 qla2x00t-32gbit: Revert "qla2x00t-32gbit: Fix disk failure to rediscover"
This fixes the regression of NVMe discovery failure during driver load
time.

This reverts commit 6a45c8e137d4e2c72eecf1ac7cf64f2fdfcead99.

Link: https://lore.kernel.org/r/20220713052045.10683-2-njavali@marvell.com
Cc: stable@vger.kernel.org
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
[ commit 5bc7b01c513a upstream ]
2022-09-13 11:47:01 +03:00
Gleb Chesnokov
796caf71dd qla2x00t-32gbit: Check correct variable in qla24xx_async_gffid()
There is a copy and paste bug here.  It should check ".rsp" instead of
".req".  The error message is copy and pasted as well so update that too.

Link: https://lore.kernel.org/r/YrK1A/t3L6HKnswO@kili
Fixes: 9c40c36e75ff ("scsi: qla2xxx: edif: Reduce Initiator-Initiator thrashing")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
[ commit 7c33e477bd88 upstream ]
2022-09-13 11:47:01 +03:00
Gleb Chesnokov
94c2c4ce38 qla2x00t-32gbit: Update version to 10.02.07.700-k
Link: https://lore.kernel.org/r/20220616053508.27186-12-njavali@marvell.com
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
[ commit 4de0d18da901 upstream ]
2022-09-13 11:29:40 +03:00
Gleb Chesnokov
7eddc7eed5 qla2x00t-32gbit: Fix erroneous mailbox timeout after PCI error injection
Clear wait for mailbox interrupt flag to prevent stale mailbox:

Feb 22 05:22:56 ltcden4-lp7 kernel: qla2xxx [0135:90:00.1]-500a:4: LOOP UP detected (16 Gbps).
Feb 22 05:22:59 ltcden4-lp7 kernel: qla2xxx [0135:90:00.1]-d04c:4: MBX Command timeout for cmd 69, ...

To fix the issue, driver needs to clear the MBX_INTR_WAIT flag on purging
the mailbox. When the stale mailbox completion does arrive, it will be
dropped.

Link: https://lore.kernel.org/r/20220616053508.27186-11-njavali@marvell.com
Fixes: b6faaaf796d7 ("scsi: qla2xxx: Serialize mailbox request")
Cc: Naresh Bannoth <nbannoth@in.ibm.com>
Cc: Kyle Mahlkuch <Kyle.Mahlkuch@ibm.com>
Cc: stable@vger.kernel.org
Reported-by: Naresh Bannoth <nbannoth@in.ibm.com>
Tested-by: Naresh Bannoth <nbannoth@in.ibm.com>
Signed-off-by: Quinn Tran <qutran@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
[ commit f260694e6463 upstream ]
2022-09-13 11:29:40 +03:00
Gleb Chesnokov
56cdd6cb66 qla2x00t-32gbit: Fix losing FCP-2 targets on long port disable with I/Os
FCP-2 devices were not coming back online once they were lost, login
retries exhausted, and then came back up.  Fix this by accepting RSCN when
the device is not online.

Link: https://lore.kernel.org/r/20220616053508.27186-10-njavali@marvell.com
Fixes: 44c57f205876 ("scsi: qla2xxx: Changes to support FCP2 Target")
Cc: stable@vger.kernel.org
Signed-off-by: Arun Easi <aeasi@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
[ commit 2416ccd3815b upstream ]
2022-09-13 11:29:40 +03:00
Gleb Chesnokov
6e9f5714de qla2x00t-32gbit: Add debug prints in the device remove path
Add a debug print in the devloss callback.

Link: https://lore.kernel.org/r/20220616053508.27186-9-njavali@marvell.com
Signed-off-by: Arun Easi <aeasi@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
[ commit f12d2d130efc upstream ]
2022-09-13 11:29:40 +03:00
Gleb Chesnokov
67f37540fa qla2x00t-32gbit: Fix losing target when it reappears during delete
FC target disappeared during port perturbation tests due to a race that
tramples target state.  Fix the issue by adding state checks before
proceeding.

Link: https://lore.kernel.org/r/20220616053508.27186-8-njavali@marvell.com
Fixes: 44c57f205876 ("scsi: qla2xxx: Changes to support FCP2 Target")
Cc: stable@vger.kernel.org
Signed-off-by: Arun Easi <aeasi@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
[ commit 118b0c863c8f upstream ]
2022-09-13 11:29:40 +03:00
Gleb Chesnokov
d3d046017b qla2x00t-32gbit: Fix losing FCP-2 targets during port perturbation tests
When a mix of FCP-2 (tape) and non-FCP-2 targets are present, FCP-2 target
state was incorrectly transitioned when both of the targets were gone. Fix
this by ignoring state transition for FCP-2 targets.

Link: https://lore.kernel.org/r/20220616053508.27186-7-njavali@marvell.com
Fixes: 44c57f205876 ("scsi: qla2xxx: Changes to support FCP2 Target")
Cc: stable@vger.kernel.org
Signed-off-by: Arun Easi <aeasi@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
[ commit 58d1c124cd79 upstream ]
2022-09-13 11:29:40 +03:00
Gleb Chesnokov
774351d4b0 qla2x00t-32gbit: Fix crash due to stale SRB access around I/O timeouts
Ensure SRB is returned during I/O timeout error escalation. If that is not
possible fail the escalation path.

Following crash stack was seen:

BUG: unable to handle kernel paging request at 0000002f56aa90f8
IP: qla_chk_edif_rx_sa_delete_pending+0x14/0x30 [qla2xxx]
Call Trace:
 ? qla2x00_status_entry+0x19f/0x1c50 [qla2xxx]
 ? qla2x00_start_sp+0x116/0x1170 [qla2xxx]
 ? dma_pool_alloc+0x1d6/0x210
 ? mempool_alloc+0x54/0x130
 ? qla24xx_process_response_queue+0x548/0x12b0 [qla2xxx]
 ? qla_do_work+0x2d/0x40 [qla2xxx]
 ? process_one_work+0x14c/0x390

Link: https://lore.kernel.org/r/20220616053508.27186-6-njavali@marvell.com
Fixes: d74595278f4a ("scsi: qla2xxx: Add multiple queue pair functionality.")
Cc: stable@vger.kernel.org
Signed-off-by: Arun Easi <aeasi@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
[ commit c39587bc0aba upstream ]
2022-09-13 11:29:40 +03:00
Gleb Chesnokov
056729a7d4 qla2x00t-32gbit: Turn off multi-queue for 8G adapters
For 8G adapters, multi-queue was enabled accidentally. Make sure
multi-queue is not enabled.

Link: https://lore.kernel.org/r/20220616053508.27186-5-njavali@marvell.com
Cc: stable@vger.kernel.org
Signed-off-by: Quinn Tran <qutran@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
[ commit 5304673bdb16 upstream ]
2022-09-13 11:29:40 +03:00
Gleb Chesnokov
6e096cba99 qla2x00t-32gbit: Wind down adapter after PCIe error
Put adapter into a wind down state if OS does not make any attempt to
recover the adapter after PCIe error.

Link: https://lore.kernel.org/r/20220616053508.27186-4-njavali@marvell.com
Cc: stable@vger.kernel.org
Signed-off-by: Quinn Tran <qutran@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
[ commit d3117c83ba31 upstream ]
2022-09-13 11:29:40 +03:00
Gleb Chesnokov
ba83b3a49b qla2x00t-32gbit: Add a new v2 dport diagnostic feature
FW requires minimum 72 bytes buffer size for D_port result. Buffer size
1024 is mentioned in the FW spec so buffer size is increased to 1024.
Rewrite the logic to handle START/RESTART command from SDMAPI.

Link: https://lore.kernel.org/r/20220616053508.27186-3-njavali@marvell.com
Signed-off-by: Bikash Hazarika <bhazarika@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
[ commit 476da8faa336 upstream ]
2022-09-13 11:29:40 +03:00
Gleb Chesnokov
ae2c0e208a qla2x00t-32gbit: Fix excessive I/O error messages by default
Disable printing I/O error messages by default.  The messages will be
printed only when logging was enabled.

Link: https://lore.kernel.org/r/20220616053508.27186-2-njavali@marvell.com
Fixes: 8e2d81c6b5be ("scsi: qla2xxx: Fix excessive messages during device logout")
Cc: stable@vger.kernel.org
Signed-off-by: Arun Easi <aeasi@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
[ commit bff4873c7090 upstream ]
2022-09-13 11:29:40 +03:00
Gleb Chesnokov
92a731d0d7 qla2x00t-32gbit: Update version to 10.02.07.600-k
Link: https://lore.kernel.org/r/20220608115849.16693-11-njavali@marvell.com
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
[ commit 0f4d7d556125 upstream ]
2022-09-13 11:15:41 +03:00
Gleb Chesnokov
1c26699006 qla2x00t-32gbit: edif: Fix slow session teardown
User experience slow recovery when target device went through a stop/start
of the authentication application (app_stop/app_start).

Between the period of app_stop and app_start on the target device, target
device choose to send ELS Reject for any receive AUTH ELS command.  At this
time, authentication application does not do ELS reject if it encounters
error.

Therefore, AUTH ELS reject signify authentication application is not
running. If driver passes up the AUTH ELS Reject to the authentication
application, then it would result in authentication application
retrying/resending the same AUTH ELS command again + delay.

As a work around, driver should trigger a session tear down where it tells
the local authentication application to also tear down.  At the next
relogin, both sides are then synchronized.

Link: https://lore.kernel.org/r/20220608115849.16693-10-njavali@marvell.com
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
Signed-off-by: Quinn Tran <qutran@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
[ commit bcf536072f74 upstream ]
2022-09-13 11:15:41 +03:00
Gleb Chesnokov
3d0b662f7a qla2x00t-32gbit: edif: Reduce N2N thrashing at app_start time
For N2N + remote WWPN is bigger than local adapter, remote adapter will
login to local adapter while authentication application is not running.
When authentication application starts, the current session in FW needs to
to be invalidated.

Make sure the old session is torn down before triggering a relogin.

Link: https://lore.kernel.org/r/20220608115849.16693-9-njavali@marvell.com
Fixes: 4de067e5df12 ("scsi: qla2xxx: edif: Add N2N support for EDIF")
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
Signed-off-by: Quinn Tran <qutran@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
[ commit 37be3f9d6993 upstream ]
2022-09-13 11:15:41 +03:00
Gleb Chesnokov
9866511082 qla2x00t-32gbit: edif: Fix no logout on delete for N2N
The driver failed to send implicit logout on session delete. For edif, this
failed to flush any lingering SA index in FW.

Set a flag to turn on implicit logout early in the session recovery to make
sure the logout will go out in case of error.

Link: https://lore.kernel.org/r/20220608115849.16693-8-njavali@marvell.com
Fixes: 4de067e5df12 ("scsi: qla2xxx: edif: Add N2N support for EDIF")
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
Signed-off-by: Quinn Tran <qutran@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
[ commit ec538eb838f3 upstream ]
2022-09-13 11:15:41 +03:00
Gleb Chesnokov
93238e0580 qla2x00t-32gbit: edif: Fix session thrash
Current code prematurely sends out PRLI before authentication application
has given the OK to do so. This causes PRLI failure and session teardown.

Prevents PRLI from going out before authentication app gives the OK.

Link: https://lore.kernel.org/r/20220608115849.16693-7-njavali@marvell.com
Fixes: 91f6f5fbe87b ("scsi: qla2xxx: edif: Reduce connection thrash")
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
Signed-off-by: Quinn Tran <qutran@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
[ commit a8fdfb0b39c2 upstream ]
2022-09-13 11:15:41 +03:00
Gleb Chesnokov
b9505ddcf8 qla2x00t-32gbit: edif: Tear down session if keys have been removed
If all keys for a session have been deleted, trigger a session teardown.

Link: https://lore.kernel.org/r/20220608115849.16693-6-njavali@marvell.com
Fixes: dd30706e73b7 ("scsi: qla2xxx: edif: Add key update")
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
Signed-off-by: Quinn Tran <qutran@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
[ commit d7e2e4a68fc0 upstream ]
2022-09-13 11:15:41 +03:00
Gleb Chesnokov
f4ec5bf693 qla2x00t-32gbit: edif: Fix no login after app start
The scenario is this: User loaded driver but has not started authentication
app. All sessions to secure device will exhaust all login attempts, fail,
and in stay in deleted state. Then some time later the app is started. The
driver will replenish the login retry count, trigger delete to prepare for
secure login. After deletion, relogin is triggered.

For the session that is already deleted, the delete trigger is a no-op. If
none of the sessions trigger a relogin, no progress is made.

Add a relogin trigger.

Link: https://lore.kernel.org/r/20220608115849.16693-5-njavali@marvell.com
Fixes: 7ebb336e45ef ("scsi: qla2xxx: edif: Add start + stop bsgs")
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
Signed-off-by: Quinn Tran <qutran@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
[ commit 24c796098f53 upstream ]
2022-09-13 11:15:41 +03:00
Gleb Chesnokov
8f8331fe93 qla2x00t-32gbit: edif: Reduce disruption due to multiple app start
Multiple app start can trigger a session bounce. Make driver skip over
session teardown if app start is seen more than once.

Link: https://lore.kernel.org/r/20220608115849.16693-4-njavali@marvell.com
Fixes: 7ebb336e45ef ("scsi: qla2xxx: edif: Add start + stop bsgs")
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
Signed-off-by: Quinn Tran <qutran@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
[ commit 0dbfce5255fe upstream ]
2022-09-13 11:15:41 +03:00
Gleb Chesnokov
14b62dbee3 qla2x00t-32gbit: edif: Send LOGO for unexpected IKE message
If the session is down and the local port continues to receive AUTH ELS
messages, the driver needs to send back LOGO so that the remote device
knows to tear down its session. Terminate and clean up the AUTH ELS
exchange followed by a passthrough LOGO.

Link: https://lore.kernel.org/r/20220608115849.16693-3-njavali@marvell.com
Fixes: 225479296c4f ("scsi: qla2xxx: edif: Reject AUTH ELS on session down")
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
Signed-off-by: Quinn Tran <qutran@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
[ commit 2b659ed67a12 upstream ]
2022-09-13 11:15:41 +03:00
Gleb Chesnokov
d48d24f4ef qla2x00t-32gbit: edif: Fix I/O timeout due to over-subscription
The current edif code does not keep track of FW IOCB resources.  This led
to IOCB queue full on error recovery (I/O timeout).  Make use of the
existing code that tracks IOCB resources to prevent over-subscription.

Link: https://lore.kernel.org/r/20220608115849.16693-2-njavali@marvell.com
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
Signed-off-by: Quinn Tran <qutran@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
[ commit 63ab6cb582fa upstream ]
2022-09-13 11:15:41 +03:00
Gleb Chesnokov
09950e41b5 qla2x00t-32gbit: Update version to 10.02.07.500-k
Link: https://lore.kernel.org/r/20220607044627.19563-12-njavali@marvell.com
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
[ commit 4dc48a107a14 upstream ]
2022-09-13 10:49:31 +03:00
Gleb Chesnokov
9152b4740a qla2x00t-32gbit: edif: Fix n2n login retry for secure device
After initiator has burned up all login retries, target authentication
application begins to run. This triggers a link bounce on target side.
Initiator will attempt another login. Due to N2N, the PRLI [nvme | fcp] can
fail because of the mode mismatch with target. This patch add a few more
login retries to revive the connection.

Link: https://lore.kernel.org/r/20220607044627.19563-11-njavali@marvell.com
Fixes: 4de067e5df12 ("scsi: qla2xxx: edif: Add N2N support for EDIF")
Signed-off-by: Quinn Tran <qutran@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
[ commit aec55325ddec upstream ]
2022-09-13 10:49:31 +03:00
Gleb Chesnokov
bf6504c1e4 qla2x00t-32gbit: edif: Fix n2n discovery issue with secure target
User failed to see disk via n2n topology. Driver used up all login retries
before authentication application started. When authentication application
started, driver did not have enough login retries to connect securely. On
app_start, driver will reset the login retry attempt count.

Link: https://lore.kernel.org/r/20220607044627.19563-10-njavali@marvell.com
Fixes: 4de067e5df12 ("scsi: qla2xxx: edif: Add N2N support for EDIF")
Signed-off-by: Quinn Tran <qutran@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
[ commit 789d54a41786 upstream ]
2022-09-13 10:49:31 +03:00
Gleb Chesnokov
51acb6f8f8 qla2x00t-32gbit: edif: Remove old doorbell interface
Recently driver has implemented a new doorbell mechanism via bsg.  The new
doorbell tells driver the exact buffer size application has where driver
can fill it up with events. The old doorbell guestimated application buffer
size is 256.

Remove duplicate functionality, the application has moved on to the new
doorbell interface.

Link: https://lore.kernel.org/r/20220607044627.19563-9-njavali@marvell.com
Signed-off-by: Quinn Tran <qutran@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
[ commit 1040e5f75ddf upstream ]
2022-09-13 10:49:31 +03:00
Gleb Chesnokov
b805073c83 qla2x00t-32gbit: edif: Add retry for ELS passthrough
Relating to EDIF, when sending IKE message, updating key or deleting key,
driver can encounter IOCB queue full. Add additional retries to reduce
higher level recovery.

Link: https://lore.kernel.org/r/20220607044627.19563-8-njavali@marvell.com
Fixes: dd30706e73b7 ("scsi: qla2xxx: edif: Add key update")
Signed-off-by: Quinn Tran <qutran@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
[ commit 0b3f3143d473 upstream ]
2022-09-13 10:49:31 +03:00
Gleb Chesnokov
7118ccf7c4 qla2x00t-32gbit: edif: Synchronize NPIV deletion with authentication application
Notify authentication application of a NPIV deletion event is about to
occur. This allows app to perform cleanup.

Link: https://lore.kernel.org/r/20220607044627.19563-7-njavali@marvell.com
Fixes: 9efea843a906 ("scsi: qla2xxx: edif: Add detection of secure device")
Signed-off-by: Quinn Tran <qutran@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
[ commit cf79716e6636 upstream ]
2022-09-13 10:49:31 +03:00
Gleb Chesnokov
b3cc9f3628 qla2x00t-32gbit: edif: Fix potential stuck session in sa update
When a thread is in the process of reestablish a session, a flag is set to
prevent multiple threads/triggers from doing the same task. This flag was
left on, and any attempt to relogin was locked out. Clear this flag if the
attempt has failed.

Link: https://lore.kernel.org/r/20220607044627.19563-6-njavali@marvell.com
Fixes: dd30706e73b7 ("scsi: qla2xxx: edif: Add key update")
Signed-off-by: Quinn Tran <qutran@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
[ commit e0fb8ce2bb9e upstream ]
2022-09-13 10:49:31 +03:00
Gleb Chesnokov
c3b8db1d41 qla2x00t-32gbit: Backport to older kernel versions
The commit ec325c9913bd ("qla2x00t-32gbit: edif: Add bsg interface to
read doorbell events") introduced the use of the sg_copy_buffer()
function.

The kernel has only exported this function since version v4.2, so use
sg_pcopy_from_buffer() instead, which is already supported by older
kernel versions.
2022-09-13 10:49:31 +03:00
Gleb Chesnokov
8f0b70f56f qla2x00t-32gbit: edif: Add bsg interface to read doorbell events
Add bsg interface for app to read doorbell events. This interface lets
driver know how much app can read based on return buffer size. When the
next event(s) occur, driver will return the bsg_job with the event(s) in
the return buffer.

If there is no event to read, driver will hold on to the bsg_job up to few
seconds as a way to control the polling interval.

Link: https://lore.kernel.org/r/20220607044627.19563-5-njavali@marvell.com
Fixes: dd30706e73b7 ("scsi: qla2xxx: edif: Add key update")
Signed-off-by: Quinn Tran <qutran@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
[ commit 5ecd241bd7b1 upstream ]
2022-09-13 10:49:31 +03:00
Gleb Chesnokov
eb5f7c5a2c qla2x00t-32gbit: edif: Wait for app to ack on sess down
On session deletion, wait for app to acknowledge before moving on. This
allows both app and driver to stay in sync. In addition, this gives a
chance for authentication app to do any type of cleanup before moving on.

Link: https://lore.kernel.org/r/20220607044627.19563-4-njavali@marvell.com
Fixes: dd30706e73b7 ("scsi: qla2xxx: edif: Add key update")
Signed-off-by: Quinn Tran <qutran@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
[ commit df648afa39da upstream ]
2022-09-13 10:49:31 +03:00
Gleb Chesnokov
fe93ca4c50 qla2x00t-32gbit: edif: bsg refactor
- Add version field to edif bsg for future enhancement.

 - Add version edif bsg version check

 - Remove unused interfaces and fields.

Link: https://lore.kernel.org/r/20220607044627.19563-3-njavali@marvell.com
Fixes: dd30706e73b7 ("scsi: qla2xxx: edif: Add key update")
Signed-off-by: Quinn Tran <qutran@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
[ commit 7a7b0b4865d3 upstream ]
2022-09-13 10:49:31 +03:00
Gleb Chesnokov
b5561a6b4a qla2x00t-32gbit: edif: Reduce Initiator-Initiator thrashing
This patch uses GFFID switch command to scan whether remote device is
Target or Initiator mode.  Based on that info, driver will not pass up
Initiator info to authentication application. This helps reduce unnecessary
stress for authentication application to deal with unused connections.

Link: https://lore.kernel.org/r/20220607044627.19563-2-njavali@marvell.com
Fixes: 7ebb336e45ef ("scsi: qla2xxx: edif: Add start + stop bsgs")
Signed-off-by: Quinn Tran <qutran@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
[ commit 9c40c36e75ff upstream ]
2022-09-13 10:49:31 +03:00
Gleb Chesnokov
1807f82e39 scst_mem: Check for errors in scst_sgv_pools_init()
The register_shrinker() function may return an error since Linux
kernel v3.12.
2022-09-12 23:31:25 +03:00
Gleb Chesnokov
a13ef3be90 scst_mem: Allow NULL 'pool' pointer in sgv_pool_destroy()
sgv_pool_destroy() does not tolerate a NULL sgv_pool pointer argument and
performs a NULL-pointer dereference. This requires additional attention
and effort from developers/reviewers and forces all sgv_pool_destroy()
callers to do a NULL check

    if (pool)
        sgv_pool_destroy(pool);

Or, otherwise, be invalid sgv_pool_destroy() users.

Tweak sgv_pool_destroy() and NULL-check the pointer there.
2022-09-12 23:31:25 +03:00
Gleb Chesnokov
96f5cfb7b3 scst/include/backport.h: Fix the register_shrinker() backport
The register_shrinker() function has begun to return non void value since
v3.12 version. So fix the backport of this function for kernel versions
before v3.12.

Fixes: 84bd33f9a1 ("scst_mem: Port to Linux kernel v6.0")
2022-09-12 23:31:25 +03:00
Gleb Chesnokov
4f1003104f iscsi-scst: Fix a typo in SCSTTarget RA
Extraneous space in "status" breaks resource monitoring:

    <action name="status " timeout="10" interval="10" depth="0" />

Fixes: https://github.com/SCST-project/scst/issues/80
2022-09-01 12:42:52 +03:00
Gleb Chesnokov
84bd33f9a1 scst_mem: Port to Linux kernel v6.0
Support for the following mm layer changes in the Linux kernel v6.0:
- e33c267ab70d ("mm: shrinkers: provide shrinkers with names")
2022-08-21 19:41:49 +03:00
Gleb Chesnokov
46ad98f072 scst: Remove else after a break or return
Remove the else because the if statement has a break or return statement.

This patch fixes the following checkpatch warnings:

    WARNING:UNNECESSARY_ELSE: else is not generally useful after a break
    or return.
2022-08-09 19:38:00 +03:00
Gleb Chesnokov
ebae8bd223 scst: Remove unnecessary null check
kmem_cache_destroy() can handle NULL pointer correctly, so there is no need
to check NULL pointer before calling kmem_cache_destroy().

For kernel versions before v4.3 there is a backport of
kmem_cache_destroy() that checks for a null pointer.

This patch fixes the following checkpatch warnings:

    WARNING:NEEDLESS_IF: kmem_cache_destroy(NULL) is safe and this check
    is probably not required
2022-08-09 19:38:00 +03:00
Gleb Chesnokov
4649a6abd4 scst/include/backport.h, scst_sysfs: Prefer 'unsigned int' over bare 'unsigned'
The bare "unsigned" type implicitly means "unsigned int", but the preferred
coding style is to use the complete type name.

This patch fixes the following checkpatch warnings:

    WARNING:UNSPECIFIED_INT: Prefer 'unsigned int' to bare use of 'unsigned'
2022-08-09 19:38:00 +03:00
Gleb Chesnokov
1e168e6676 iscsi-scst: Fix spelling mistake in comment
Change 'compability' to 'compatibility'.

This patch fixes the following checkpatch warning:

    WARNING: 'compability' may be misspelled - perhaps 'compatibility'?
2022-08-09 19:38:00 +03:00
Gleb Chesnokov
d94c7fb06e scst_lib, scst_vdisk: Remove unlikely from IS_ERR_OR_NULL
This patch fixes the following checkpatch warnings:

    WARNING:LIKELY_MISUSE: nested (un)?likely() calls,
    IS_ERR_OR_NULL already uses unlikely() internally.
2022-08-09 19:38:00 +03:00
Gleb Chesnokov
b4e09bac10 nightly build: Update kernel versions 2022-08-02 15:17:10 +03:00
Gleb Chesnokov
7b55903875 mailmap: Update Gleb Chesnokov's email address
I have created a new dedicated email address for SCST. So add
information about it.

New email: gleb.chesnokov@scst.dev
2022-07-29 21:42:15 +03:00
Bart Van Assche
6641fa81bf ib_srpt: Remove the obsolete max_sge_delta kernel module parameter 2022-07-27 20:17:03 -07:00
Bart Van Assche
4b7b3e2c58 ib_srpt: Remove obsolete parameters and update documentation
Support for the ib_srpt_target_<n> target port names was removed in 2015.
Update the documentation that still uses this target port name format.
Remove all references to the obsolete ib_srpt kernel module parameters
use_port_guid_in_session_name and use_node_guid_in_target_name. Remove
the references from srpt/README to target port name formats that are no
longer supported.
2022-07-27 20:14:23 -07:00