Commit Graph

6073 Commits

Author SHA1 Message Date
Bart Van Assche
a686180c77 qla2xxx: Disable T10-DIF feature with FC-NVMe during probe
With FC-NVMe enabled, driver does not support T10 DIF/DIX. This patch
disables T10-PI information when ql2xnvmeenable is set.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8218 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-14 01:23:33 +00:00
Bart Van Assche
e1ae689531 qla2xxx: Increase max_sgl_segments to 1024
This patch increases max_sgl_segments from 128 to the maximum supported
which is 1024. Increasing max_sgl_segments allows the driver to support
larger I/O sizes.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8217 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-14 01:23:00 +00:00
Bart Van Assche
32324e46de qla2xxx: Reset the FCF_ASYNC_{SENT|ACTIVE} flags
Driver maintains state machine for processing and completing switch
commands. This patch resets FCF_ASYNC_{SENT|ACTIVE} flag to indicate if the
previous command is active or sent, in order for next GPSC command to
advance the state machine.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8216 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-14 01:22:14 +00:00
Bart Van Assche
03427baae1 qla2xxx: Set the qpair in SRB to NULL when SRB is released
This patch sets QPair pointer to NULL to prevent abort command racing ahead
of normal command completion handling during scsi_done call.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8215 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-14 01:21:34 +00:00
Bart Van Assche
eb4388978e qla2xxx: Set the SCSI command result before calling the command done
This patch tries to address race condition between abort handler and
completion handler. When scsi command result is set by both abort and
completion handler, scsi_done() is only called after refcount on SRB
structure goes to zero. The abort handler sets this result prematurely even
when the refcount is non-zero value. Fix this by setting SCSI cmd->result
before scsi_done() is called.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8214 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-14 01:21:01 +00:00
Bart Van Assche
6093c63ba1 qla2xxx: Simplify conditional check again
Clang warns when it sees a logical not on the left side of a conditional
statement because it thinks the logical not should be applied to the whole
statement, not just the left side:

drivers/scsi/qla2xxx/qla_nx.c:3703:7: warning: logical not is only
applied to the left hand side of this comparison
[-Wlogical-not-parentheses]

This particular instance was already fixed by commit 0bfe7d3cae58 ("scsi:
qla2xxx: Simplify conditional check") upstream but it was reintroduced by
commit 3695310e37b4 ("scsi: qla2xxx: Update flash read/write routine") in
the 5.2/scsi-queue.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8213 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-14 01:20:36 +00:00
Bart Van Assche
c93f1c41ab qla2xxx: Fix a small typo in qla_bsg.c
Fixed a typo for 'iiDMA' cmd in qla_bsg.c.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8212 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-14 01:20:10 +00:00
Bart Van Assche
176993a766 qla2xxx: Fix comment alignment in qla_bsg.c
Fix a minor formatting issue with comment section in qla_bsg.c.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8211 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-14 01:19:48 +00:00
Bart Van Assche
de350a3ca4 qla2xxx: Update driver version to 10.01.00.15-k
This version includes support for ISP28XX.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8210 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-14 01:19:21 +00:00
Bart Van Assche
3e397c0d71 qla2xxx: Secure flash update support for ISP28XX
This patch adds support for Secure flash update with ISP28xx.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8209 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-14 01:18:59 +00:00
Bart Van Assche
e273f3dedb qla2xxx: Add 28xx flash primary/secondary status/image mechanism
Includes the following:
- correction to 27xx image status struct;
- factoring of 27xx image status validating routines to make common;
- image status generation compare that works across zero wrap;
- bsg interface to report current active images (as loaded by driver).


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8208 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-14 01:18:36 +00:00
Bart Van Assche
386626802f qla2xxx: Simplify register address used in qla_tmpl.c
Reduce stack space on each fwdt routine by eliminating local variable reg.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8207 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-14 01:18:11 +00:00
Bart Van Assche
f6fc5d8484 qla2xxx: Correction and improvement to fwdt processing
This patch cleans up and fixes firmware dump template processing. These
changes are added to support newer features for ISP27XX/ISP28XX.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8206 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-14 01:17:21 +00:00
Bart Van Assche
cfe8d10222 qla2xxx: Update flash read/write routine
This patch makes following changes to flash access routines:

- update return type for read_optrom
- use void instead of uint32_t * for buffer parameter in read
  and write optrom routines
- fix flash/nvram addressing


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8205 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-14 01:16:52 +00:00
Bart Van Assche
c4697a40e4 qla2xxx: Fix read offset in qla24xx_load_risc_flash()
Fixes: "qla2xxx: Cleanups for NVRAM/Flash read/write path"


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8204 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-14 01:16:28 +00:00
Bart Van Assche
f4efe31dbc qla2xxx: Add support for multiple fwdump templates/segments
This patch adds multipe firmware dump template and segments support for
ISP27XX/28XX.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8203 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-14 01:16:05 +00:00
Bart Van Assche
201e9ba136 qla2xxx: Cleanups for NVRAM/Flash read/write path
This patch does following:

 - Clean up NVRAM code.
 - Optimizes reading of primary/secondary flash image validation.
 - Remove 0xff mask and make correct width in FLT structure.
 - Use endian macros to assign static fields in fwdump header.
 - Correct fdwt checksum calculation.
 - Simplify ql_dump_buffer() interface usage.
 - Add endianizers to 27xx firmware image validator.
 - fixes compiler warnings for big endian architecture.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8202 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-14 01:15:41 +00:00
Bart Van Assche
e8995d41ee qla2xxx: Correctly report max/min supported speeds
This patch fixes reported speed for min_link and max_supported speed. Also
rename sysfs nodes link_speed and max_supported to be consistent with
{min|max}_suuported_speed.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8201 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-14 01:15:08 +00:00
Bart Van Assche
e2ded798c0 qla2xxx: Add Serdes support for ISP28XX
This patch adds sysfs node for serdes_version and also cleans up port_speed
display.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8200 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-14 01:14:38 +00:00
Bart Van Assche
6e708764f7 qla2xxx: Add Device ID for ISP28XX
This patch adds PCI device ID ISP28XX for Gen7 support.  Also signature
determination for primary/secondary flash image for ISP27XX/28XX is added as
part of Gen7 support.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8199 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-14 01:14:12 +00:00
Bart Van Assche
5184753236 qla2xxx: Fix routine qla27xx_dump_{mpi|ram}()
This patch fixes qla27xx_dump_{mpi|ram} api for ISP27XX.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8198 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-14 01:13:40 +00:00
Bart Van Assche
fa72f713e0 qla2xxx: Remove FW default template
This patch removes FW default template as there will never be case where
the default template would be invoked.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8197 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-14 01:13:19 +00:00
Bart Van Assche
e1b2d90bff qla2xxx: Add fw_attr and port_no sysfs attributes
This patch adds new sysfs attributes for the firmware attributes and port
number.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8196 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-14 01:12:50 +00:00
Bart Van Assche
a359ed4904 scst/include/backport.h: Port recent changes to RHEL 6 and RHEL 7
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8195 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-14 01:11:31 +00:00
Bart Van Assche
a2ed73c287 scst/include/backport.h: Backport FC_PORTSPEED_64GBIT
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8194 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-13 22:57:18 +00:00
Bart Van Assche
e4a05976e7 scst/include/backport.h: Add wait_event_lock_irq_timeout() backport
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8193 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-13 22:56:39 +00:00
Bart Van Assche
5a85f399c8 scst/include/backport.h: Backport wwn_to_u64()
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8192 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-13 22:55:58 +00:00
Bart Van Assche
3c4dcb4135 qla2x00t-32gbit: Avoid corrupting vha->plogi_ack_list
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8191 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-13 22:53:24 +00:00
Bart Van Assche
88e87e1506 qla2x00t-32gbit, target: Verify locking assumptions at runtime
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8190 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-13 22:52:48 +00:00
Bart Van Assche
f0ffaaa59c qla2x00t-32gbit, target, Makefile: Modify an echo statement
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8189 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-13 22:52:10 +00:00
Bart Van Assche
c382752163 qla2x00t-32gbit: Build the qla2xxx_scst driver with the same flags as the target driver
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8188 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-13 22:51:30 +00:00
Bart Van Assche
1c65ca5dc1 qla2x00t-32gbit: Complain loudly about reference count underflow
Reference undercount underflow is a serious issue so complain loudly
about it.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8187 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-13 22:50:45 +00:00
Bart Van Assche
c5f45ada28 qla2x00t-32gbit, target: Reduce the number of forward declarations
This patch does not change any functionality.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8186 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-13 22:49:48 +00:00
Bart Van Assche
5b6a40e532 qla2x00t-32gbit: Fix unsafe locking
Avoid that lockdep reports the following:

WARNING: HARDIRQ-safe -> HARDIRQ-unsafe lock order detected
kworker/2:1/62 [HC0[0]:SC0[0]:HE0:SE1] is trying to acquire:
0000000009e679b3 (&(&k->k_lock)->rlock){+.+.}, at: klist_next+0x43/0x1d0

and this task is already holding:
00000000a033b71c (&(&ha->tgt.sess_lock)->rlock){-...}, at: qla24xx_delete_sess_fn+0x55/0xf0 [qla2xxx_scst]
which would create a new lock dependency:
 (&(&ha->tgt.sess_lock)->rlock){-...} -> (&(&k->k_lock)->rlock){+.+.}

but this new dependency connects a HARDIRQ-irq-safe lock:
 (&(&ha->tgt.sess_lock)->rlock){-...}

... which became HARDIRQ-irq-safe at:
  lock_acquire+0xe3/0x200
  _raw_spin_lock_irqsave+0x3d/0x60
  qla24xx_report_id_acquisition+0xa69/0xe30 [qla2xxx_scst]
  qla24xx_process_response_queue+0x69e/0x1270 [qla2xxx_scst]
  qla24xx_msix_rsp_q+0x79/0xf0 [qla2xxx_scst]
  __handle_irq_event_percpu+0x79/0x3c0
  handle_irq_event_percpu+0x70/0xf0
  handle_irq_event+0x5a/0x8b
  handle_edge_irq+0x12c/0x310
  handle_irq+0x192/0x20a
  do_IRQ+0x73/0x160
  ret_from_intr+0x0/0x1d
  default_idle+0x23/0x1f0
  arch_cpu_idle+0x15/0x20
  default_idle_call+0x35/0x40
  do_idle+0x2bb/0x2e0
  cpu_startup_entry+0x1d/0x20
  start_secondary+0x2a8/0x320
  secondary_startup_64+0xa4/0xb0

to a HARDIRQ-irq-unsafe lock:
 (&(&k->k_lock)->rlock){+.+.}

... which became HARDIRQ-irq-unsafe at:
...
  lock_acquire+0xe3/0x200
  _raw_spin_lock+0x32/0x50
  klist_add_tail+0x33/0xb0
  device_add+0x7e1/0xb50
  device_create_groups_vargs+0x11c/0x150
  device_create_with_groups+0x89/0xb0
  vtconsole_class_init+0xb2/0x124
  do_one_initcall+0xc5/0x3ce
  kernel_init_freeable+0x295/0x32e
  kernel_init+0x11/0x11b
  ret_from_fork+0x3a/0x50

other info that might help us debug this:

 Possible interrupt unsafe locking scenario:

       CPU0                    CPU1
       ----                    ----
  lock(&(&k->k_lock)->rlock);
                               local_irq_disable();
                               lock(&(&ha->tgt.sess_lock)->rlock);
                               lock(&(&k->k_lock)->rlock);
  <Interrupt>
    lock(&(&ha->tgt.sess_lock)->rlock);

 *** DEADLOCK ***

3 locks held by kworker/2:1/62:
 #0: 00000000a4319c16 ((wq_completion)"qla2xxx_wq"){+.+.}, at: process_one_work+0x437/0xa80
 #1: 00000000ffa34c42 ((work_completion)(&sess->del_work)){+.+.}, at: process_one_work+0x437/0xa80
 #2: 00000000a033b71c (&(&ha->tgt.sess_lock)->rlock){-...}, at: qla24xx_delete_sess_fn+0x55/0xf0 [qla2xxx_scst]

the dependencies between HARDIRQ-irq-safe lock and the holding lock:
-> (&(&ha->tgt.sess_lock)->rlock){-...} ops: 8 {
   IN-HARDIRQ-W at:
                    lock_acquire+0xe3/0x200
                    _raw_spin_lock_irqsave+0x3d/0x60
                    qla24xx_report_id_acquisition+0xa69/0xe30 [qla2xxx_scst]
                    qla24xx_process_response_queue+0x69e/0x1270 [qla2xxx_scst]
                    qla24xx_msix_rsp_q+0x79/0xf0 [qla2xxx_scst]
                    __handle_irq_event_percpu+0x79/0x3c0
                    handle_irq_event_percpu+0x70/0xf0
                    handle_irq_event+0x5a/0x8b
                    handle_edge_irq+0x12c/0x310
                    handle_irq+0x192/0x20a
                    do_IRQ+0x73/0x160
                    ret_from_intr+0x0/0x1d
                    default_idle+0x23/0x1f0
                    arch_cpu_idle+0x15/0x20
                    default_idle_call+0x35/0x40
                    do_idle+0x2bb/0x2e0
                    cpu_startup_entry+0x1d/0x20
                    start_secondary+0x2a8/0x320
                    secondary_startup_64+0xa4/0xb0
   INITIAL USE at:
                   lock_acquire+0xe3/0x200
                   _raw_spin_lock_irqsave+0x3d/0x60
                   qla24xx_report_id_acquisition+0xa69/0xe30 [qla2xxx_scst]
                   qla24xx_process_response_queue+0x69e/0x1270 [qla2xxx_scst]
                   qla24xx_msix_rsp_q+0x79/0xf0 [qla2xxx_scst]
                   __handle_irq_event_percpu+0x79/0x3c0
                   handle_irq_event_percpu+0x70/0xf0
                   handle_irq_event+0x5a/0x8b
                   handle_edge_irq+0x12c/0x310
                   handle_irq+0x192/0x20a
                   do_IRQ+0x73/0x160
                   ret_from_intr+0x0/0x1d
                   default_idle+0x23/0x1f0
                   arch_cpu_idle+0x15/0x20
                   default_idle_call+0x35/0x40
                   do_idle+0x2bb/0x2e0
                   cpu_startup_entry+0x1d/0x20
                   start_secondary+0x2a8/0x320
                   secondary_startup_64+0xa4/0xb0
 }
 ... key      at: [<ffffffffa0c0d080>] __key.85462+0x0/0xfffffffffff7df80 [qla2xxx_scst]
 ... acquired at:
   lock_acquire+0xe3/0x200
   _raw_spin_lock_irqsave+0x3d/0x60
   klist_next+0x43/0x1d0
   device_for_each_child+0x96/0x110
   scsi_target_block+0x3c/0x40 [scsi_mod]
   fc_remote_port_delete+0xe7/0x1c0 [scsi_transport_fc]
   qla2x00_mark_device_lost+0xa0b/0xa30 [qla2xxx_scst]
   qlt_unreg_sess+0x1c6/0x380 [qla2xxx_scst]
   qla24xx_delete_sess_fn+0xe6/0xf0 [qla2xxx_scst]
   process_one_work+0x511/0xa80
   worker_thread+0x67/0x5b0
   kthread+0x1d2/0x1f0
   ret_from_fork+0x3a/0x50

the dependencies between the lock to be acquired
 and HARDIRQ-irq-unsafe lock:
-> (&(&k->k_lock)->rlock){+.+.} ops: 13831 {
   HARDIRQ-ON-W at:
                    lock_acquire+0xe3/0x200
                    _raw_spin_lock+0x32/0x50
                    klist_add_tail+0x33/0xb0
                    device_add+0x7e1/0xb50
                    device_create_groups_vargs+0x11c/0x150
                    device_create_with_groups+0x89/0xb0
                    vtconsole_class_init+0xb2/0x124
                    do_one_initcall+0xc5/0x3ce
                    kernel_init_freeable+0x295/0x32e
                    kernel_init+0x11/0x11b
                    ret_from_fork+0x3a/0x50
   SOFTIRQ-ON-W at:
                    lock_acquire+0xe3/0x200
                    _raw_spin_lock+0x32/0x50
                    klist_add_tail+0x33/0xb0
                    device_add+0x7e1/0xb50
                    device_create_groups_vargs+0x11c/0x150
                    device_create_with_groups+0x89/0xb0
                    vtconsole_class_init+0xb2/0x124
                    do_one_initcall+0xc5/0x3ce
                    kernel_init_freeable+0x295/0x32e
                    kernel_init+0x11/0x11b
                    ret_from_fork+0x3a/0x50
   INITIAL USE at:
                   lock_acquire+0xe3/0x200
                   _raw_spin_lock+0x32/0x50
                   klist_add_tail+0x33/0xb0
                   device_add+0x7e1/0xb50
                   device_create_groups_vargs+0x11c/0x150
                   device_create_with_groups+0x89/0xb0
                   vtconsole_class_init+0xb2/0x124
                   do_one_initcall+0xc5/0x3ce
                   kernel_init_freeable+0x295/0x32e
                   kernel_init+0x11/0x11b
                   ret_from_fork+0x3a/0x50
 }
 ... key      at: [<ffffffff83ed8780>] __key.15491+0x0/0x40
 ... acquired at:
   lock_acquire+0xe3/0x200
   _raw_spin_lock_irqsave+0x3d/0x60
   klist_next+0x43/0x1d0
   device_for_each_child+0x96/0x110
   scsi_target_block+0x3c/0x40 [scsi_mod]
   fc_remote_port_delete+0xe7/0x1c0 [scsi_transport_fc]
   qla2x00_mark_device_lost+0xa0b/0xa30 [qla2xxx_scst]
   qlt_unreg_sess+0x1c6/0x380 [qla2xxx_scst]
   qla24xx_delete_sess_fn+0xe6/0xf0 [qla2xxx_scst]
   process_one_work+0x511/0xa80
   worker_thread+0x67/0x5b0
   kthread+0x1d2/0x1f0
   ret_from_fork+0x3a/0x50

stack backtrace:
CPU: 2 PID: 62 Comm: kworker/2:1 Tainted: G           O      5.0.7-dbg+ #8
Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
Workqueue: qla2xxx_wq qla24xx_delete_sess_fn [qla2xxx_scst]
Call Trace:
 dump_stack+0x86/0xca
 check_usage.cold.52+0x473/0x563
 __lock_acquire+0x11c0/0x23e0
 lock_acquire+0xe3/0x200
 _raw_spin_lock_irqsave+0x3d/0x60
 klist_next+0x43/0x1d0
 device_for_each_child+0x96/0x110
 scsi_target_block+0x3c/0x40 [scsi_mod]
 fc_remote_port_delete+0xe7/0x1c0 [scsi_transport_fc]
 qla2x00_mark_device_lost+0xa0b/0xa30 [qla2xxx_scst]
 qlt_unreg_sess+0x1c6/0x380 [qla2xxx_scst]
 qla24xx_delete_sess_fn+0xe6/0xf0 [qla2xxx_scst]
 process_one_work+0x511/0xa80
 worker_thread+0x67/0x5b0
 kthread+0x1d2/0x1f0
 ret_from_fork+0x3a/0x50



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8185 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-13 22:48:25 +00:00
Bart Van Assche
c1dbec35ea qla2x00t-32gbit, target: Avoid that qlt_free_session_done() hangs
Waiting for a long time inside a work item callback function is not a good
idea. Split qlt_free_session_done() in two functions and call the second
half asynchronously instead of waiting inside qlt_free_session_done().


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8184 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-13 22:47:22 +00:00
Bart Van Assche
e1290dc5dd qla2x00t-32gbit, target: Avoid that sqa_qla2xxx_free_session() hangs
Call scst_unregister_session() after having set the completion pointer
instead of before.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8183 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-13 22:44:39 +00:00
Bart Van Assche
96288b9d49 qla2x00t-32gbit, target: Avoid that a debug statement at the end of sqa_init_scst_tgt() triggers a use-after-free
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8182 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-13 22:43:51 +00:00
Bart Van Assche
fd802f03b9 qla2x00t-32gbit, target: Simplify sqa_get_target_name()
This patch does not change any functionality.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8181 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-13 22:43:13 +00:00
Bart Van Assche
3aad36b25b qla2x00t-32gbit/Kconfig: Sync with kernel v5.1-rc1
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8180 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-10 15:01:15 +00:00
Bart Van Assche
2c9922245d scripts/kernel-functions: Fix the code for retrieving kernel code from a git repo
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8179 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-10 15:00:33 +00:00
Bart Van Assche
339d30b6bc scripts/kernel-functions: Fix up ____ilog2_NaN() prototype
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8178 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-10 14:59:48 +00:00
Bart Van Assche
83875a3051 scst/include/backport.h: Backport irq_set_affinity_notifier()
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8177 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-10 14:59:12 +00:00
Bart Van Assche
213dcbfd0a qla2x00t-32gbit: Fix a potential out-of-bounds array access
Since qla2x00_async_event() may write mb[7], change the size of the mb[]
array from 4 into 8.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8176 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-09 02:40:04 +00:00
Bart Van Assche
adad29bad0 qla2x00t-32gbit/qla2x00-target/README: Update
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8175 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-08 03:40:28 +00:00
Bart Van Assche
bd72ab1a74 qla2x00t-32gbit: Fix a bug in the RHEL 6 port
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8174 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-08 02:40:12 +00:00
Bart Van Assche
e4e13e917a qla2x00t-32gbit: Free interrupts if response queue allocation failed
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8173 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-08 02:20:11 +00:00
Bart Van Assche
0dc7776980 qla2x00t-32gbit: Free interrupts if memory allocation fails
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8172 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-08 02:18:55 +00:00
Bart Van Assche
aedcfc5997 scstadmin: Avoid that Perl complains about undefined values for write-only attributes
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8171 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-08 02:16:46 +00:00
Bart Van Assche
8857274edb qla2x00t-32gbit, target: Make a comment more clear
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8170 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-07 18:19:12 +00:00
Bart Van Assche
e8509800b2 qla2x00t-32gbit: Backport to RHEL 6
Untested.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8169 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-06 23:21:29 +00:00