Commit Graph

6049 Commits

Author SHA1 Message Date
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
Bart Van Assche
a0d61a5d2a qla2x00t-32gbit: Report the firmware status code if a mailbox command fails
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8168 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-06 23:20:42 +00:00
Bart Van Assche
b8275385a8 qla2x00t-32gbit: Always report the status code if a mailbox command fails
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8167 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-06 23:19:52 +00:00
Bart Van Assche
d20be1897c qla2x00t-32gbit: Avoid using the format specifier %*phC
Since format specifier %*phC is not available in kernel versions before v3.6,
do not use it. See also commit 31550a16a5d2 ("vsprintf: add support of
'%*ph[CDN]'") # v3.6.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8166 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-06 23:19:19 +00:00
Bart Van Assche
ab3b4fd54b qla2x00t-32gbit: Remove an unnecessary #include directive
None of the definitions from <linux/io-64-nonatomic-lo-hi.h> are used in
the qla2xxx driver. Hence remove the include directive for that header file.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8165 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-06 23:18:29 +00:00
Bart Van Assche
8ed7f4bbc1 qla2x00t-32gbit: Add a runtime array bounds check
Complain if the msix_entries[] array is accessed outside its bounds.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8164 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-06 23:17:27 +00:00
Bart Van Assche
556a7f6cf2 scst: Support the SLUB allocator
Although the SLAB allocator exports the kmalloc_track_caller() function,
the SLUB allocator does not. Hence use kmalloc() instead of
kmalloc_track_caller().


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8163 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-06 23:16:51 +00:00
Bart Van Assche
1c75b0fd84 scst_mem: Avoid passing a too large value to cpus_online()
This patch avoids that the following warning is reported against a debug
kernel:

WARNING: CPU: 0 PID: 3343 at include/linux/cpumask.h:117 cpumask_check+0x31/0x40 [scst]()
CPU: 0 PID: 3343 Comm: modprobe Tainted: G           O    4.3.6-dbg+ #7
Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
Call Trace:
 [<ffffffff812b868e>] dump_stack+0x52/0x84
 [<ffffffff8105cb55>] warn_slowpath_common+0x95/0xe0
 [<ffffffff8105cbba>] warn_slowpath_null+0x1a/0x20
 [<ffffffffa03bd8d1>] cpumask_check+0x31/0x40 [scst]
 [<ffffffffa03bd8f1>] cpumask_test_cpu+0x11/0x30 [scst]
 [<ffffffffa03c073f>] scst_sgv_pools_init+0x18f/0x410 [scst]
 [<ffffffff815ca2d5>] ? _raw_spin_unlock+0x35/0x60
 [<ffffffff81206cd5>] ? nr_blockdev_pages+0x65/0x70
 [<ffffffffa0791b64>] init_scst+0xa4c/0xce6 [scst]
 [<ffffffff8100035e>] ? do_one_initcall+0x9e/0x1d0
 [<ffffffff810b4fd0>] ? trace_hardirqs_on_caller+0x100/0x1c0
 [<ffffffff810b509d>] ? trace_hardirqs_on+0xd/0x10
 [<ffffffffa0791118>] ? scst_print_config+0x118/0x118 [scst]
 [<ffffffff8100036d>] do_one_initcall+0xad/0x1d0
 [<ffffffff810f99fa>] do_init_module+0x6a/0x210
 [<ffffffff810fc491>] load_module+0x551/0x750
 [<ffffffff810f8950>] ? mod_sysfs_teardown+0x140/0x140
 [<ffffffff810f8400>] ? module_sect_show+0x30/0x30
 [<ffffffff810f8a33>] ? copy_chunked_from_user+0x63/0xa0
 [<ffffffff810fc85f>] SyS_init_module+0xdf/0x120
 [<ffffffff815ca6f2>] entry_SYSCALL_64_fastpath+0x12/0x76


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8162 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-06 23:15:57 +00:00
Bart Van Assche
976595dccb scst: Also unload the qla2xxx_scst kernel module when stopping SCST
Make sure that the qla2xxx_scst kernel module is reloaded after an upgrade
of SCST. 


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8161 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-06 23:14:24 +00:00
Bart Van Assche
dffb910c00 Update
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8160 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-06 17:16:46 +00:00
Bart Van Assche
6d89d0ad19 nightly build: Update kernel versions
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8159 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-06 01:06:45 +00:00
Bart Van Assche
c2214b2150 nightly build: Update kernel versions
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8158 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-06 01:06:25 +00:00
Bart Van Assche
8a10f5c744 qla2x00t-32gbit: Calculate min_vecs correctly for kernel versions < v4.8
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8157 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-05 01:06:34 +00:00
Bart Van Assche
8258e882d0 qla2x00t-32gbit: Remove a superfluous assignment from the pre-v3.14 code
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8156 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-05 01:05:54 +00:00
Bart Van Assche
e55a145f3b qla2x00t-32gbit: Add -Wno-stringop-truncation to the compiler options
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8155 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-05 01:05:20 +00:00
Bart Van Assche
304ab2ac64 qla2x00t-32gbit: Fix qla24xx_enable_msix() for kernel versions before v3.14
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8154 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-05 01:04:38 +00:00
Bart Van Assche
2b09d01896 qla2x00t-32gbit: Only free 'entries' after its last use
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8153 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-05 01:04:14 +00:00
Bart Van Assche
0fe36f31ac qla2x00t-32gbit: Remove pci_irq_vector() backport
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8152 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-05 01:03:47 +00:00
Bart Van Assche
3c9d681a5f qla2x00t-32gbit, target: Move variable declarations into a header file
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8151 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-05 01:03:28 +00:00
Bart Van Assche
c749a72feb scst/include/backport.h: Add a mempool_destroy() backport
This patch makes it safe to call mempool_destroy(NULL) for kernel versions
before v4.3.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8150 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-05 01:03:04 +00:00
Bart Van Assche
b011fdf316 scst/include/backport.h: Add a kmem_cache_destroy() backport
This patch makes it safe to call kmem_cache_destroy(NULL) on kernel v4.2
and before.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8149 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-04 00:37:15 +00:00
Bart Van Assche
3796f42abb nightly build: Update kernel versions
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8148 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-03 13:55:05 +00:00
Bart Van Assche
dc60296d1d nightly build: Update kernel versions
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8147 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-03 04:42:05 +00:00
Bart Van Assche
090aa93013 qla2x00t-32gbit: Fix a false positive compiler warning when building against v4.9
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8146 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-03 01:00:46 +00:00
Bart Van Assche
694ea5608a qla2x00t-32gbit, target: Backport to kernel-3.0
Avoid using se_cmd.t_task_cdb because that member is not available
in kernel v3.0.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8145 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-04-03 00:57:59 +00:00