Bart Van Assche
fa9690fe4b
Merge branch 'svn-trunk'
2021-10-07 20:52:49 -07:00
Bart Van Assche
7e328da616
nightly build: Update kernel versions
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9581 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2021-10-08 02:57:39 +00:00
Bart Van Assche
7084119757
Merge branch 'svn-trunk'
2021-09-28 20:32:16 -07:00
Bart Van Assche
3881544890
qla2x00t-32gbit: Change the default mode back to FCP
...
Commit 6432df87e6 ("qla2x00t-32gbit: initialize fc4_type_priority") sets
the port mode to FCP or NVMe according to the NVRAM configuration. That results
in the following logs on my test setup:
qla2xxx [0000:00:09.0]-ffff:9: FC4 priority set to NVMe
qla2xxx [0000:00:0a.0]-ffff:10: FC4 priority set to NVMe
Since only FCP is supported in the SCST project, ignore the NVRAM configuration.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9580 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2021-09-29 03:23:38 +00:00
Bart Van Assche
c521fbb33d
Merge branch 'svn-trunk'
2021-09-18 19:52:44 -07:00
Bart Van Assche
67b174e0f6
nightly/conf/nightly.conf: Remove kernel versions before 3.10
...
As far as I know all SCST users are using kernel version 3.10 or later. Hence
stop testing kernel versions before 3.10, the kernel version used by RHEL 7.
This means dropping support for RHEL 6.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9579 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2021-09-19 02:49:57 +00:00
Bart Van Assche
259dfae2d2
Merge branch 'svn-trunk'
2021-09-14 21:15:04 -07:00
Bart Van Assche
1e95312e49
Reenable block_shift calculation for tapes
...
The calculation of block_shift was disabled for tape devices.
Enabling it again, as it is now being used in scst_tape_generic_parse.
Fixes: 0043f510cb ("block shift cleanups and fixes")
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9578 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2021-09-15 04:13:49 +00:00
Bart Van Assche
8a341fe593
Merge pull request #46 from ArianWeber/fix_calc_block_shift
...
Reenable block_shift calculation for tapes
2021-09-14 21:12:21 -07:00
Bart Van Assche
0723b46dd9
Merge branch 'svn-trunk'
2021-09-14 20:11:05 -07:00
Bart Van Assche
3d527cb0b5
fcst: Use BUILD_BUG_ON() instead of static_assert()
...
BUILD_BUG_ON() works with older gcc versions but static_assert() not.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9577 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2021-09-15 03:10:32 +00:00
Bart Van Assche
ab318992fc
Merge branch 'svn-trunk'
2021-09-08 20:26:28 -07:00
Bart Van Assche
13c6449016
scst_vdisk: Fix bio_integrity_alloc() error checking
...
In 2015 bio_integrity_alloc() was modified such that it returns an error
pointer instead of NULL upon failure. Hence this patch.
See also upstream commit 06c1e3902aa7 ("blk-integrity: empty implementation
when disabled"; v4.5).
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9576 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2021-09-09 03:22:31 +00:00
Bart Van Assche
c536f01094
qla2x00t-32gbit/Makefile_in-tree: Add qla_edif.o
...
Reported-by: Sietse van Zanen <sietse@wizdom.nu >
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9575 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2021-09-09 02:57:47 +00:00
Bart Van Assche
d296d3f507
Merge branch 'svn-trunk'
2021-09-07 20:17:10 -07:00
Bart Van Assche
573e4f21f3
isert-scst: Enclose complex values in parentheses
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9574 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2021-09-08 02:47:22 +00:00
Bart Van Assche
0f817a40ef
fcst: Remove one occurrence of __attribute__((packed))
...
Remove this occurrence because it is not necessary and because checkpatch
complains about it.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9573 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2021-09-07 15:51:56 +00:00
Bart Van Assche
b610cb1ac8
Merge branch 'svn-trunk'
2021-09-06 17:45:18 -07:00
Bart Van Assche
ee72166494
qla2x00t-32gbit: Unbreak the RHEL 7 and RHEL 8 builds
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9572 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2021-09-07 00:45:11 +00:00
Bart Van Assche
3364429a0f
scst/include/backport.h: Unbreak the RHEL 7 and RHEL 8 builds
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9571 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2021-09-07 00:44:03 +00:00
Bart Van Assche
49602f1523
Merge branch 'svn-trunk'
2021-09-05 20:29:22 -07:00
Bart Van Assche
dfd45e735c
scst_copy_mgr: Improve standards compliance
...
Instead of considering designators as equivalent if one is the prefix of
another, only accept an exact match of the designator length as required
by the SCSI standard.
Fixes: 5e90abb64a ("scst_copy_mgr: Implement a workaround for non-compliant initiator systems")
Fixes: 3fc775c75a ("EXTENDED COPY support")
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9570 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2021-09-06 03:04:38 +00:00
Bart Van Assche
2164b456dc
Merge branch 'svn-trunk'
2021-09-05 09:42:45 -07:00
Bart Van Assche
8c19a57583
qla2x00t-32gbit: Backport the EDIF BSG code
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9569 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2021-09-05 15:45:50 +00:00
Bart Van Assche
3c36167585
qla2x00t-32gbit: Open-code qla2xxx_eh_device_reset()
...
Device reset and target reset will be using different calling sequences, so
open-code __qla2xxx_eh_generic_reset() in qla2xxx_eh_device_reset(), and
remove the now obsolete function __qla2xxx_eh_generic_reset(). No
functional changes.
Link: https://lore.kernel.org/r/20210819091913.94436-4-hare@suse.de
Cc: Nilesh Javali <njavali@marvell.com >
Reviewed-by: Nilesh Javali <njavali@marvell.com >
Signed-off-by: Hannes Reinecke <hare@suse.de >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
[ commit cbe1f0d70072cbdb28c8687f3fca79d07e8d1860 upstream ]
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9568 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2021-09-05 15:45:46 +00:00
Bart Van Assche
c6c70f504d
qla2x00t-32gbit: Open-code qla2xxx_eh_target_reset()
...
Device reset and target reset will be using different calling sequences, so
open-code __qla2xxx_eh_generic_reset() in qla2xxx_eh_target_reset(). No
functional changes.
Link: https://lore.kernel.org/r/20210819091913.94436-3-hare@suse.de
Cc: Nilesh Javali <njavali@marvell.com >
Reviewed-by: Nilesh Javali <njavali@marvell.com >
Signed-off-by: Hannes Reinecke <hare@suse.de >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
[ commit e56b2234ab64f92486ea246f1322ff236e87e229 upstream ]
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9567 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2021-09-05 15:45:42 +00:00
Bart Van Assche
700bbd7eb2
qla2x00t-32gbit: Do not call fc_block_scsi_eh() during bus reset
...
When calling bus reset the driver will be doing a full SAN resync, so there
is no need to wait for any pending RSCNs; they'll be re-issued during
resync anyway.
Link: https://lore.kernel.org/r/20210819091913.94436-2-hare@suse.de
Cc: Nilesh Javali <njavali@marvell.com >
Reviewed-by: Nilesh Javali <njavali@marvell.com >
Signed-off-by: Hannes Reinecke <hare@suse.de >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
[ commit c74ce061f8983bcb048b895bc127447909321fe8 upstream ]
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9566 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2021-09-05 15:45:38 +00:00
Bart Van Assche
b2f977c791
qla2x00t-32gbit: Update version to 10.02.06.200-k
...
Link: https://lore.kernel.org/r/20210817051315.2477-13-njavali@marvell.com
Signed-off-by: Nilesh Javali <njavali@marvell.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
[ commit 34f69ec703559f0a43ec3307795c28514861b511 upstream ]
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9565 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2021-09-05 15:45:34 +00:00
Bart Van Assche
bd8956724c
qla2x00t-32gbit: edif: Fix returnvar.cocci warnings
...
drivers/scsi/qla2xxx/qla_edif.c:213:25-29: Unneeded variable: "rval". Return "0"
on line 264
Remove unneeded variable used to store return value.
Generated by: scripts/coccinelle/misc/returnvar.cocci
Link: https://lore.kernel.org/r/20210817051315.2477-12-njavali@marvell.com
Fixes: 7ebb336e45ef ("scsi: qla2xxx: edif: Add start + stop bsgs")
Reported-by: kernel test robot <lkp@intel.com >
Signed-off-by: kernel test robot <lkp@intel.com >
Signed-off-by: Nilesh Javali <njavali@marvell.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
[ commit 17f3df8fd718fb229ae3453ae59b3f2349464d06 upstream ]
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9564 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2021-09-05 15:45:30 +00:00
Bart Van Assche
da7cfbb899
qla2x00t-32gbit: Fix NVMe session down detection
...
When Target port transitions personality from one to another (NVMe <-->
FCP), there could be some overlap of the two where one layer is going down
while the other layer is coming up. This overlap can cause temporary I/O
error. Detect those errors/transitions and recover from them. Triggers
session tear down and allow relogin to re-drive the connection under the
following conditions:
- NVMe command error
- On PRLO + N2N (rida format 2)
Link: https://lore.kernel.org/r/20210817051315.2477-11-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 7a8ff7d9854a1727435557184c8255bbbca60920 upstream ]
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9563 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2021-09-05 15:45:25 +00:00
Bart Van Assche
5fc2357c68
qla2x00t-32gbit: Fix NVMe retry
...
For target port that register itself as both FCP + NVMe, initiator driver
will try to login one mode at a time. If the last mode did not succeed,
then driver will try the other mode.
When error is encountered, current code only flip to other mode one time
(NVMe->FCP) and remain on the last mode. Driver wrongly assumed target
port does not support PRLI NVMe, instead it was not ready to receive PRLI.
This patch will alternate back and forth on every PRLI failure until login
retry count has depleted or it is succeeded.
Link: https://lore.kernel.org/r/20210817051315.2477-10-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 f88444570072a6863f3e2bd67878560a51b187f2 upstream ]
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9562 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2021-09-05 15:45:20 +00:00
Bart Van Assche
e011c72863
qla2x00t-32gbit: Fix hang on NVMe command timeouts
...
The abort callback gets called only when it gets posted to firmware. The
refcounting is done properly in the callback. On internal errors, the
callback is not invoked leading to a hung I/O. Fix this by having separate
error code when command gets returned from firmware.
Link: https://lore.kernel.org/r/20210817051315.2477-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 2cabf10dbbe380e2ef27a69ce2059bcab7c8b419 upstream ]
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9561 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2021-09-05 15:45:16 +00:00
Bart Van Assche
cb5acb2323
qla2x00t-32gbit: Fix NVMe | FCP personality change
...
Currently driver saves the personality type (FCP|NVMe) at the start of
first discovery of the remote device. If the remote device personality do
change over time, then qla driver needs to present that to user to decide.
Link: https://lore.kernel.org/r/20210817051315.2477-8-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 f6e327fc09e48271c103efb3b69fc4ccda3f408b upstream ]
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9560 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2021-09-05 15:45:12 +00:00
Bart Van Assche
d2312b6268
qla2x00t-32gbit: edif: Do secure PLOGI when auth app is present
...
For initiator mode, always do secure login when authentication app started.
Also remove redundant flags to indicate secure connection.
Link: https://lore.kernel.org/r/20210817051315.2477-7-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 1dc64a360bda55d632202e3fef266cef7d4f6f00 upstream ]
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9559 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2021-09-05 15:45:07 +00:00
Bart Van Assche
6e3fa20e65
qla2x00t-32gbit: edif: Add N2N support for EDIF
...
For EDIF + N2N to work, firmware 9.8 or later is required. The driver will
pause after PLOGI to allow app to authenticate. Once authentication
completes, app will tell driver to do PRLI.
Link: https://lore.kernel.org/r/20210817051315.2477-6-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 4de067e5df12c4db4d3d930ba58354d23674f67c upstream ]
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9558 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2021-09-05 15:45:02 +00:00
Bart Van Assche
88876f3f32
qla2x00t-32gbit: Fix hang during NVMe session tear down
...
The following hung task call trace was seen:
[ 1230.183294] INFO: task qla2xxx_wq:523 blocked for more than 120 seconds.
[ 1230.197749] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[ 1230.205585] qla2xxx_wq D 0 523 2 0x80004000
[ 1230.205636] Workqueue: qla2xxx_wq qlt_free_session_done [qla2xxx]
[ 1230.205639] Call Trace:
[ 1230.208100] __schedule+0x2c4/0x700
[ 1230.211607] schedule+0x38/0xa0
[ 1230.214769] schedule_timeout+0x246/0x2f0
[ 1230.222651] wait_for_completion+0x97/0x100
[ 1230.226921] qlt_free_session_done+0x6a0/0x6f0 [qla2xxx]
[ 1230.232254] process_one_work+0x1a7/0x360
...when device side port resets were done.
Abort threads were getting out without processing due to the "deleted"
flag check. The delete thread, meanwhile, could not proceed with a
logout (that would have cleared out pending requests) as the logout IOCB
work was not progressing. It appears like the hung qlt_free_session_done()
thread is causing the ha->wq works on hold. The qlt_free_session_done()
was hung waiting for nvme_fc_unregister_remoteport() + localport_delete cb
to be complete, which would only happen when all I/Os are released.
Fix this by allowing abort to progress until device delete is completely
done. This should make the qlt_free_session_done() proceed without hang and
thus clear up the deadlock.
Link: https://lore.kernel.org/r/20210817051315.2477-5-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 310e69edfbd57995868a428eeddea09a7b5d2749 upstream ]
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9557 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2021-09-05 15:44:58 +00:00
Bart Van Assche
354b18f993
qla2x00t-32gbit: edif: Fix EDIF enable flag
...
edif_enabled is prematurely turned on if hardware is capable of handling
the feature. However, firmware also needs to support EDIF before enabling
this bit.
Link: https://lore.kernel.org/r/20210817051315.2477-4-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 d07b75ba96497e9bfb9f0e673800a9d764ac212a upstream ]
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9556 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2021-09-05 15:44:54 +00:00
Bart Van Assche
f8c549e5b9
qla2x00t-32gbit: edif: Reject AUTH ELS on session down
...
Reject inflight AUTH ELS if driver is going through session recovery.
Link: https://lore.kernel.org/r/20210817051315.2477-3-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 225479296c4fb2d3449e55b48eca2a9d6aca1e4e upstream ]
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9555 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2021-09-05 15:44:50 +00:00
Bart Van Assche
ad72fd5c26
qla2x00t-32gbit: edif: Fix stale session
...
When firmware indicates session has been torn down via UPDATE SA IOCB or
ELS Passthrough IOCB, the driver needs to also tear down the session.
Link: https://lore.kernel.org/r/20210817051315.2477-2-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 b15ce2f34cf42487982db0a8606095db1c8c8f28 upstream ]
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9554 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2021-09-05 15:44:46 +00:00
Bart Van Assche
bc381af443
qla2x00t-32gbit: Update version to 10.02.06.100-k
...
Link: https://lore.kernel.org/r/20210810043720.1137-15-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 bd19573e05f6e643f003672c799b3b2301f2f493 upstream ]
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9553 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2021-09-05 15:44:41 +00:00
Bart Van Assche
aa8246ab2e
qla2x00t-32gbit: Sync queue idx with queue_pair_map idx
...
The first invocation of function find_first_zero_bit will return 0 and
queue_id gets set to 0.
An index of queue_pair_map also gets set to 0.
qpair_id = find_first_zero_bit(ha->qpair_qid_map, ha->max_qpairs);
set_bit(qpair_id, ha->qpair_qid_map);
ha->queue_pair_map[qpair_id] = qpair;
In the alloc_queue callback driver checks the map, if queue is already
allocated:
ha->queue_pair_map[qidx]
This works fine as long as max_qpairs is greater than nvme_max_hw_queues(8)
since the size of the queue_pair_map is equal to max_qpair. In case nr_cpus
is less than 8, max_qpairs is less than 8. This creates wrong value
returned as qpair.
[ 1572.353669] qla2xxx [0000:24:00.3]-2121:6: Returning existing qpair of 4e00000000000000 for idx=2
[ 1572.354458] general protection fault: 0000 [#1 ] SMP PTI
[ 1572.354461] CPU: 1 PID: 44 Comm: kworker/1:1H Kdump: loaded Tainted: G IOE --------- - - 4.18.0-304.el8.x86_64 #1
[ 1572.354462] Hardware name: HP ProLiant DL380p Gen8, BIOS P70 03/01/2013
[ 1572.354467] Workqueue: kblockd blk_mq_run_work_fn
[ 1572.354485] RIP: 0010:qla_nvme_post_cmd+0x92/0x760 [qla2xxx]
[ 1572.354486] Code: 84 24 5c 01 00 00 00 00 b8 0a 74 1e 66 83 79 48 00 0f 85 a8 03 00 00 48 8b 44 24 08 48 89 ee 4c 89 e7 8b 50 24 e8 5e 8e 00 00 <f0> 41 ff 47 04 0f ae f0 41 f6 47 24 04 74 19 f0 41 ff 4f 04 b8 f0
[ 1572.354487] RSP: 0018:ffff9c81c645fc90 EFLAGS: 00010246
[ 1572.354489] RAX: 0000000000000001 RBX: ffff8ea3e5070138 RCX: 0000000000000001
[ 1572.354490] RDX: 0000000000000001 RSI: 0000000000000001 RDI: ffff8ea4c866b800
[ 1572.354491] RBP: ffff8ea4c866b800 R08: 0000000000005010 R09: ffff8ea4c866b800
[ 1572.354492] R10: 0000000000000001 R11: 000000069d1ca3ff R12: ffff8ea4bc460000
[ 1572.354493] R13: ffff8ea3e50702b0 R14: ffff8ea4c4c16a58 R15: 4e00000000000000
[ 1572.354494] FS: 0000000000000000(0000) GS:ffff8ea4dfd00000(0000) knlGS:0000000000000000
[ 1572.354495] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 1572.354496] CR2: 000055884504fa58 CR3: 00000005a1410001 CR4: 00000000000606e0
[ 1572.354497] Call Trace:
[ 1572.354503] ? check_preempt_curr+0x62/0x90
[ 1572.354506] ? dma_direct_map_sg+0x72/0x1f0
[ 1572.354509] ? nvme_fc_start_fcp_op.part.32+0x175/0x460 [nvme_fc]
[ 1572.354511] ? blk_mq_dispatch_rq_list+0x11c/0x730
[ 1572.354515] ? __switch_to_asm+0x35/0x70
[ 1572.354516] ? __switch_to_asm+0x41/0x70
[ 1572.354518] ? __switch_to_asm+0x35/0x70
[ 1572.354519] ? __switch_to_asm+0x41/0x70
[ 1572.354521] ? __switch_to_asm+0x35/0x70
[ 1572.354522] ? __switch_to_asm+0x41/0x70
[ 1572.354523] ? __switch_to_asm+0x35/0x70
[ 1572.354525] ? entry_SYSCALL_64_after_hwframe+0xb9/0xca
[ 1572.354527] ? __switch_to_asm+0x41/0x70
[ 1572.354529] ? __blk_mq_sched_dispatch_requests+0xc6/0x170
[ 1572.354531] ? blk_mq_sched_dispatch_requests+0x30/0x60
[ 1572.354532] ? __blk_mq_run_hw_queue+0x51/0xd0
[ 1572.354535] ? process_one_work+0x1a7/0x360
[ 1572.354537] ? create_worker+0x1a0/0x1a0
[ 1572.354538] ? worker_thread+0x30/0x390
[ 1572.354540] ? create_worker+0x1a0/0x1a0
[ 1572.354541] ? kthread+0x116/0x130
[ 1572.354543] ? kthread_flush_work_fn+0x10/0x10
[ 1572.354545] ? ret_from_fork+0x35/0x40
Fix is to use index 0 for admin and first IO queue.
Link: https://lore.kernel.org/r/20210810043720.1137-14-njavali@marvell.com
Fixes: e84067d74301 ("scsi: qla2xxx: Add FC-NVMe F/W initialization and transport registration")
Cc: stable@vger.kernel.org
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com >
Signed-off-by: Saurav Kashyap <skashyap@marvell.com >
Signed-off-by: Nilesh Javali <njavali@marvell.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
[ commit c8fadf019964d0eb1da410ba8b629494d3339db9 upstream ]
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9552 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2021-09-05 15:44:32 +00:00
Bart Van Assche
8bff2dfde2
qla2x00t-32gbit: Changes to support kdump kernel for NVMe BFS
...
The MSI-X and MSI calls fails in kdump kernel. Because of this
qla2xxx_create_qpair() fails leading to .create_queue callback failure.
The fix is to return existing qpair instead of allocating new one and
allocate a single hw queue.
[ 19.975838] qla2xxx [0000:d8:00.1]-00c7:11: MSI-X: Failed to enable support,
giving up -- 16/-28.
[ 19.984885] qla2xxx [0000:d8:00.1]-0037:11: Falling back-to MSI mode --
ret=-28.
[ 19.992278] qla2xxx [0000:d8:00.1]-0039:11: Falling back-to INTa mode --
ret=-28.
..
..
..
[ 21.141518] qla2xxx [0000:d8:00.0]-2104:2: qla_nvme_alloc_queue: handle
00000000e7ee499d, idx =1, qsize 32
[ 21.151166] qla2xxx [0000:d8:00.0]-0181:2: FW/Driver is not multi-queue capable.
[ 21.158558] qla2xxx [0000:d8:00.0]-2122:2: Failed to allocate qpair
[ 21.164824] nvme nvme0: NVME-FC{0}: reset: Reconnect attempt failed (-22)
[ 21.171612] nvme nvme0: NVME-FC{0}: Reconnect attempt in 2 seconds
Link: https://lore.kernel.org/r/20210810043720.1137-13-njavali@marvell.com
Cc: stable@vger.kernel.org
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com >
Signed-off-by: Saurav Kashyap <skashyap@marvell.com >
Signed-off-by: Nilesh Javali <njavali@marvell.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
[ commit 4a0a542fe5e4273baf9228459ef3f75c29490cba upstream ]
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9551 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2021-09-05 15:44:28 +00:00
Bart Van Assche
6f2b95635f
qla2x00t-32gbit: Changes to support kdump kernel
...
Avoid allocating firmware dump and only allocate a single queue for a kexec
kernel.
Link: https://lore.kernel.org/r/20210810043720.1137-12-njavali@marvell.com
Cc: stable@vger.kernel.org
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com >
Signed-off-by: Saurav Kashyap <skashyap@marvell.com >
Signed-off-by: Nilesh Javali <njavali@marvell.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
[ commit 62e0dec59c1e139dab55aff5aa442adc97804271 upstream ]
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9550 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2021-09-05 15:44:24 +00:00
Bart Van Assche
410bb7c65c
qla2x00t-32gbit: Suppress unnecessary log messages during login
...
Suppress logging of retryable errors. These can still be seen if extended
logging is enabled.
Link: https://lore.kernel.org/r/20210810043720.1137-11-njavali@marvell.com
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.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 a5741427322b6158fbe9f1a4c118e95a05cecd53 upstream ]
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9549 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2021-09-05 15:44:20 +00:00
Bart Van Assche
39b8ce590d
qla2x00t-32gbit: Fix NPIV create erroneous error
...
When user creates multiple NPIVs, the switch capabilities field is checked
before a vport is allowed to be created. This field is being toggled if a
switch scan is in progress. This creates erroneous reject of vport create.
Link: https://lore.kernel.org/r/20210810043720.1137-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 a57214443f0f85639a0d9bbb8bd658d82dbf0927 upstream ]
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9548 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2021-09-05 15:44:16 +00:00
Bart Van Assche
369fa2ff74
qla2x00t-32gbit: Fix unsafe removal from linked list
...
On NPIV delete, the VPort is taken off a linked list in an unsafe manner.
The check for VPort refcount should be done behind lock before taking off
the element.
[ 2733.016907] general protection fault: 0000 [#1 ] SMP NOPTI
[ 2733.016908] qla2xxx [0000:22:00.1]-7088:27: VP[4] deleted.
[ 2733.016912] CPU: 22 PID: 23481 Comm: qla2xxx_15_dpc Kdump: loaded Tainted:
G OE KX 5.3.18-47-default #1 SLE15-SP3
[ 2733.016914] Hardware name: Dell Inc. PowerEdge R7525/0PYVT1, BIOS 2.1.4 02/17/2021
[ 2733.016929] RIP: 0010:qla2x00_abort_isp+0x90/0x850 [qla2xxx]
[ 2733.016933] RSP: 0018:ffffb9cfc91efe98 EFLAGS: 00010087
[ 2733.016935] RAX: 0000000000000292 RBX: dead000000000100 RCX: 0000000000000000
[ 2733.016936] RDX: 0000000000000001 RSI: ffff944bfeb99558 RDI: ffff944bfc4b4488
[ 2733.016937] RBP: ffff944bfc4b2868 R08: 00000000000187a2 R09: 0000000000000001
[ 2733.016937] R10: ffffb9cfc91efcc8 R11: 0000000000000001 R12: ffff944bfc4b4000
[ 2733.016938] R13: ffff944bfc4b4870 R14: ffff944bfc4b4488 R15: ffff944bda895c80
[ 2733.016939] FS: 0000000000000000(0000) GS:ffff944bfeb80000(0000) knlGS:0000000000000000
[ 2733.016940] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 2733.016940] CR2: 00007fc173e74458 CR3: 0000001ff57de000 CR4: 0000000000350ee0
[ 2733.016941] Call Trace:
[ 2733.016951] qla2xxx_pci_error_detected+0x190/0x190 [qla2xxx]
[ 2733.016957] qla2x00_do_dpc+0x560/0xa10 [qla2xxx]
[ 2733.016962] kthread+0x10d/0x130
[ 2733.016963] kthread_park+0xa0/0xa0
[ 2733.016966] ret_from_fork+0x22/0x40
Link: https://lore.kernel.org/r/20210810043720.1137-9-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 0c9a5f3e42f75dbad5966aa59db935b694ab00d1 upstream ]
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9547 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2021-09-05 15:44:12 +00:00
Bart Van Assche
b24184dc31
qla2x00t-32gbit: Fix port type info
...
Over time, fcport->port_type became a flag field. The flags within this
field were not defined properly. This caused external tools to read wrong
info.
Link: https://lore.kernel.org/r/20210810043720.1137-8-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 01c97f2dd8fb4d2188c779a975031c0fe1ec061d upstream ]
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9546 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2021-09-05 15:44:08 +00:00
Bart Van Assche
bf058b5f77
qla2x00t-32gbit: Add debug print of 64G link speed
...
Add debug print of 64G link speed.
Link: https://lore.kernel.org/r/20210810043720.1137-7-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 85818882c3d91485a153e7df3a8fdd8a0c4ff763 upstream ]
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9545 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2021-09-05 15:44:04 +00:00
Bart Van Assche
16d8f4982f
qla2x00t-32gbit: Show OS name and version in FDMI-1
...
To be consistent with other OS drivers, register OS name and version in
FDMI-1 fabric registration.
Link: https://lore.kernel.org/r/20210810043720.1137-6-njavali@marvell.com
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.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 137316ba79a686d7193ea6c8e5eb284fa24e4f9f upstream ]
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9544 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2021-09-05 15:44:00 +00:00
Bart Van Assche
ec35ca4db5
qla2x00t-32gbit: Changes to support FCP2 Target
...
Add changes to support FCP2 Target.
Link: https://lore.kernel.org/r/20210810043720.1137-5-njavali@marvell.com
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com >
Signed-off-by: Saurav Kashyap <skashyap@marvell.com >
Signed-off-by: Nilesh Javali <njavali@marvell.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
[ commit 44c57f205876518b14ab2b4b5d88a181f41260bb upstream ]
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9543 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2021-09-05 15:43:56 +00:00