Vladislav Bolkhovitin 92a296b9e5 qla2x00t: Avoid that an SRR for a command without data triggers a kernel oops
Avoid that the following kernel oops is triggered as the result of
cable pulling:

------------[ cut here ]------------
kernel BUG at /usr/src/linux-3.0.51-0.7.9/include/asm-generic/dma-mapping-common.h:51!
invalid opcode: 0000 [#1] SMP
CPU 0

Pid: 5791, comm: kworker/0:1 Tainted: P           N
3.0.51-0.7.9-default #1 HP ProLiant DL380p Gen8
RIP: 0010:[<ffffffffa03312a7>]  [<ffffffffa03312a7>]
q2t_pci_map_calc_cnt+0x87/0x120 [qla2x00tgt]
RSP: 0018:ffff8807ad879cf0  EFLAGS: 00010202
RAX: ffff880fbfa00960 RBX: 0000000000000009 RCX: ffff880fbfa00960
RDX: 0000000000000000 RSI: 0000000000000009 RDI: ffff880fbfa00960
RBP: ffff8807ad879d40 R08: 0000000000000000 R09: dead000000200200
R10: dead000000100100 R11: ffffffff81020000 R12: ffffffff81a13880
R13: 0000000000000009 R14: ffff88100f172090 R15: ffff880fbfa00840
FS:  0000000000000000(0000) GS:ffff88083fa00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 00007f74cf266020 CR3: 0000000001a03000 CR4: 00000000000406f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process kworker/0:1 (pid: 5791, threadinfo ffff8807ad878000, task
ffff88074ae801c0)
Stack:
 0000000300000000 ffff88100eb18670 00000000ffffffff ffff88100eb18670
 ffff8807ad879d40 ffff880744b331c8 ffff88080673ca00 ffffffffa03348bc
 0000000000000000 0000000000000000 ffff880744b331c8 ffff88080673ca00
Call Trace:
 [<ffffffffa03348bc>] __q2t_rdy_to_xfer+0x8c/0x1c0 [qla2x00tgt]
 [<ffffffffa033672d>] q2t_handle_srr_work+0x1ed/0x210 [qla2x00tgt]
 [<ffffffff810743cc>] process_one_work+0x16c/0x350
 [<ffffffff81076eba>] worker_thread+0x17a/0x410
 [<ffffffff8107b1e6>] kthread+0x96/0xa0
 [<ffffffff8144db44>] kernel_thread_helper+0x4/0x10
Code: 4d 85 e4 0f 84 a8 00 00 00 45 85 ed 7e 16 4c 89 ff 31 db 90 83
c3 01 e8 58 2b f2 e0 41 39 dd 48 89 c7 7f f0 83 7c 24 04 02 76 04 <0f>
0b eb fe 45 31 c0 8b 4c 24 04 44 89 ea 4c 89 fe 4c 89 f7 41
RIP  [<ffffffffa03312a7>] q2t_pci_map_calc_cnt+0x87/0x120 [qla2x00tgt]
 RSP <ffff8807ad879cf0>
---[ end trace e93624bd6aa42d19 ]---

Signed-off-by: Bart Van Assche <bvanassche@acm.org>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4747 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-01-25 01:20:37 +00:00
2012-09-14 01:31:05 +00:00
2012-07-18 21:28:57 +00:00
2012-07-18 21:28:57 +00:00
2013-01-16 00:55:38 +00:00
2011-04-19 22:56:07 +00:00
2012-04-24 21:34:11 +00:00
2008-06-26 16:35:10 +00:00
2012-01-26 05:43:48 +00:00

This is the SCST development repository. It contains not a single
project SCST as one can think, but a number of them, which are divided
as the following:

1. SCST core in scst/ subdirectory

2. Administration utility for SCST core scstadmin in scstadmin/

3. Target drivers in own subdirectories qla2x00t/, iscsi-scst/, etc.

4. User space programs in usr/ subdirectory, like fileio_tgt.

5. Some various docs in doc/ subdirectory.

Those subprojects are in most cases independent from each other,
although some of them depend from the SCST core. They put in the single
repository only to simplify their development, they are released
independently.

Thus, use "make all" only if you really need to build everything.
Otherwise build only what you need, like for iSCSI-SCST:

make scst scst_install iscsi iscsi_install

For more information about each subproject see their README files.

Vladislav Bolkhovitin <vst@vlnb.net>, http://scst.sourceforge.net
Description
No description provided
Readme 33 MiB
Languages
C 90.1%
Perl 4.2%
Shell 1.8%
HTML 1.7%
Makefile 1.2%
Other 0.9%