Commit Graph

73 Commits

Author SHA1 Message Date
Bart Van Assche
2de35d6ad4 Fixed the following issue reported by lockdep:
------------[ cut here ]------------
WARNING: at kernel/lockdep.c:2197 trace_hardirqs_on_caller+0x14c/0x1b0()
Call Trace:
 <IRQ>
 [<ffffffff8024636f>] warn_slowpath+0xaf/0x110
 [<ffffffff8026e1be>] ? check_usage_forwards+0x5e/0xc0
 [<ffffffff8026e818>] ? mark_lock+0x538/0xcc0
 [<ffffffff802ccfc1>] ? cache_alloc_refill+0x191/0x2b0
 [<ffffffff804ee62b>] ? _spin_unlock_irq+0x2b/0x40
 [<ffffffff8026f23c>] trace_hardirqs_on_caller+0x14c/0x1b0
 [<ffffffff8026f2ad>] trace_hardirqs_on+0xd/0x10
 [<ffffffff804ee62b>] _spin_unlock_irq+0x2b/0x40
 [<ffffffffa0657711>] srpt_handle_new_iu+0x2f1/0x630 [ib_srpt]
 [<ffffffffa0657bab>] srpt_completion+0x15b/0x300 [ib_srpt]
 [<ffffffffa04321f2>] mlx4_ib_cq_comp+0x12/0x20 [mlx4_ib]
 [<ffffffffa01f42aa>] mlx4_cq_completion+0x3a/0x80 [mlx4_core]
 [<ffffffffa01f5585>] mlx4_eq_int+0x295/0x2a0 [mlx4_core]
 [<ffffffffa01f561f>] mlx4_msi_x_interrupt+0xf/0x20 [mlx4_core]
 [<ffffffff80288565>] handle_IRQ_event+0x35/0x70
 [<ffffffff8028a144>] handle_edge_irq+0xb4/0x150
 [<ffffffff8020eb71>] do_IRQ+0x81/0x110
 [<ffffffff8020ced3>] ret_from_intr+0x0/0xf
 <EOI>
 [<ffffffff803b1a88>] ? cfb_imageblit+0x578/0x5a0
 [<ffffffff803aaf09>] ? bit_putcs+0x3d9/0x6a0
 [<ffffffff8026f252>] ? trace_hardirqs_on_caller+0x162/0x1b0
 [<ffffffff8026f2ad>] ? trace_hardirqs_on+0xd/0x10
 [<ffffffff804eb425>] ? thread_return+0x3d/0x928
 [<ffffffff803ab49b>] ? soft_cursor+0x1ab/0x220
 [<ffffffff803aaac7>] ? bit_cursor+0x647/0x6b0
 [<ffffffff803a4a9b>] ? fbcon_putcs+0x1cb/0x320
 [<ffffffff803aab30>] ? bit_putcs+0x0/0x6a0
 [<ffffffff803a7506>] ? fbcon_redraw+0x166/0x1d0
 [<ffffffff803a7770>] ? fbcon_scroll+0x200/0xd50
 [<ffffffff803f7af0>] ? scrup+0x100/0x110
 [<ffffffff803f7c7d>] ? lf+0x6d/0x70
 [<ffffffff803fbb1d>] ? do_con_write+0x9dd/0x2300
 [<ffffffff8026eff6>] ? mark_held_locks+0x56/0xa0
 [<ffffffff8026f252>] ? trace_hardirqs_on_caller+0x162/0x1b0
 [<ffffffff803fd499>] ? con_write+0x19/0x30
 [<ffffffff803ea683>] ? n_tty_write+0x383/0x480
 [<ffffffff8026f2ad>] ? trace_hardirqs_on+0xd/0x10
 [<ffffffff8023d7d0>] ? default_wake_function+0x0/0x10
 [<ffffffff803e76f4>] ? tty_write+0x1b4/0x280
 [<ffffffff803ea300>] ? n_tty_write+0x0/0x480
 [<ffffffff802d312b>] ? vfs_write+0xcb/0x170
 [<ffffffff802d32c0>] ? sys_write+0x50/0x90
 [<ffffffff8020c51b>] ? system_call_fastpath+0x16/0x1b
 ---[ end trace 954f4d9b9b9cdecc ]---


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@931 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-07-03 19:15:15 +00:00
Bart Van Assche
23e57ce05d Compiles now against vanilla 2.6.18 kernel headers.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@926 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-06-29 19:00:10 +00:00
Bart Van Assche
7084cac82e Display which kernel headers are used during compilation of the SRP target driver.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@913 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-06-18 18:35:05 +00:00
Bart Van Assche
010750bf7c Ported to 2.6.30 kernel.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@898 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-06-14 07:45:12 +00:00
Bart Van Assche
fd89f0427b Updated SRPT documentation.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@881 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-05-22 10:59:16 +00:00
Bart Van Assche
262a538807 - Compiles again on RHEL 5.
- RHEL 5 + OFED: fixed kernel oops that was triggered by the reception of
  an asynchronous InfiniBand event.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@880 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-05-22 06:39:42 +00:00
Bart Van Assche
4f8bd9a517 Removed the scst_released synchronization object because the previous
commit made it superfluous.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@879 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-05-21 12:41:53 +00:00
Bart Van Assche
7519550fcb Moved scst_register() call from srpt_detect() to srpt_add_one(). Added
call to scst_unregister() in srpt_remove_one(). Result:
- The kernel oops triggered by loading the ib_srpt kernel module before
  the InfiniBand subnet manager became active is now fixed.
- It is now possible to log in via the SRP protocol through HCA's that
  became active after the ib_srpt kernel module finished module
  initialization.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@878 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-05-21 12:34:11 +00:00
Bart Van Assche
106acdb7d6 - Switched to a more traditional error handling style with regard to MAD
handler registration: sport->mad_agent is now reset to NULL when MAD
  handler registration fails.
- Fixed bug in srpt_refresh_port(): this function now returns a negative
  value instead of zero when MAD registration fails.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@877 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-05-21 11:28:09 +00:00
Bart Van Assche
00dcebdb41 Fixed bug that was introduced through the previous commit (r875): a warning message was printed by srpt_remove_one() when sdev != NULL instead of when sdev == NULL.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@876 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-05-21 10:57:20 +00:00
Bart Van Assche
b2d0960b57 Moved the code for freeing the ring of I/O context structures to a separate function.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@875 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-05-21 06:54:42 +00:00
Bart Van Assche
2959a19435 Moved the code for unregistering the MAD agent into a separate function.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@874 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-05-21 06:33:38 +00:00
Bart Van Assche
7617a71367 Added more comments.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@863 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-05-19 17:58:06 +00:00
Bart Van Assche
5347e3f509 Reverted r857 because the coding style of r856 is believed to be what is expected upstream instead of the coding style of r857.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@860 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-05-19 16:41:09 +00:00
Bart Van Assche
f3d5d989ca Cleaned up changes introduced in r855.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@857 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-05-16 11:24:45 +00:00
Bart Van Assche
812d04fa03 Added more comments.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@856 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-05-16 11:20:52 +00:00
Bart Van Assche
76bdb860f0 Split srpt_handle_new_iu() in smaller functions.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@855 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-05-16 07:34:41 +00:00
Bart Van Assche
0a76a2b21a Updated to do list.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@848 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-05-11 17:55:59 +00:00
Bart Van Assche
72f5b47141 Another documentation update.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@838 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-05-10 19:20:58 +00:00
Bart Van Assche
0f132124b9 Added more details.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@837 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-05-10 18:28:09 +00:00
Bart Van Assche
7340819a3f Clarified an error message.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@836 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-05-10 18:25:08 +00:00
Bart Van Assche
63bc07871d Added a variant of the patch for scripts/Makefile.lib.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@835 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-05-10 18:04:57 +00:00
Bart Van Assche
603d81dde4 Documented how to build SCST-SRPT against OFED.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@834 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-05-10 17:31:22 +00:00
Bart Van Assche
9b25c9c44c Updated to do file.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@833 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-05-10 17:29:41 +00:00
Bart Van Assche
52d50a5ea7 Removed one OFED installation test because on some distro's it triggers false complaints.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@822 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-05-04 20:02:30 +00:00
Bart Van Assche
c521377609 ib_srpt.c compiles now on RHEL 5.x systems where OFED has been installed.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@820 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-05-04 18:57:04 +00:00
Bart Van Assche
2f1acab33e Prepend the OFED kernel header paths before the regular kernel header path when compiling on a system where OFED has been installed.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@819 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-05-04 18:55:50 +00:00
Bart Van Assche
90e914fd25 - Removed comments that referred to the 2.4 module build system.
- Simplified this Makefile: the target all now directly refers to
  src/Module.symvers. Removed the phony target Module.symvers.
- An error message is now printed if OFED has been built with srpt=y.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@817 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-05-02 12:38:33 +00:00
Bart Van Assche
19ab352393 Made building against OFED more robust.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@815 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-05-01 19:12:14 +00:00
Bart Van Assche
8f7f3d64cc Added support for compiling scst-srpt on a system where the OFED InfiniBand
kernel modules have been installed.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@814 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-05-01 09:24:47 +00:00
Vladislav Bolkhovitin
f572d4ff79 - Copyrights updated.
- Other minor updates



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@803 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-04-27 19:01:28 +00:00
Bart Van Assche
c712d12f40 The function srpt_cm_req_recv() now returns an error code instead of 0
when an SRP login request is rejected. This fixes a memory leak: the
InfiniBand core (drivers/infiniband/core/cm.c) only calls cm_free_work()
when the registered cm_handler function, i.e. srpt_cm_req_recv()
returns an error code. This patch has been submitted by by Frank Zago.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@800 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-04-26 09:10:52 +00:00
Bart Van Assche
c3d3378bc2 Made show_login_info() work for InfiniBand HCA's with more than two
ports. show_login_info() produces the information that can be retrieved
from /sys/class/infiniband_srpt/srpt-*/login_info. Note: as of today
there do not yet exist any InfiniBand HCA's with more than two ports.
Thanks to Frank Zago for reporting this issue.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@799 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-04-26 08:39:06 +00:00
Vladislav Bolkhovitin
eb14f7ca12 ChangeLog and ToDo files updated
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@725 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-03-27 19:50:23 +00:00
Vladislav Bolkhovitin
643c7ab2d1 Patch from Ruben Laban <r.laban@ism.nl>:
I replaced all occurences of DISTDIR with DESTDIR and also introduced SBINDIR (and friends) to some other Makefiles. 



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@719 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-03-25 19:33:10 +00:00
Vladislav Bolkhovitin
d3d5666f5d Cleanups
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@682 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-03-03 17:00:53 +00:00
Vladislav Bolkhovitin
e8b67bb755 - Docs updates
- Minor cleanups



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@675 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-02-18 18:52:35 +00:00
Vladislav Bolkhovitin
48addc3482 Modified patch from Bart Van Assche <bart.vanassche@gmail.com>
It, hopefully, fixes compilation problems on CentOS 5.2 as well as on vanilla kernels <2.6.28


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@638 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-01-23 19:51:54 +00:00
Vladislav Bolkhovitin
968475e2dc Obsolete TODO removed
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@625 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-12-26 17:42:21 +00:00
Vladislav Bolkhovitin
de25580abb Checkpatch fix
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@616 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-12-10 15:55:16 +00:00
Vladislav Bolkhovitin
41c3515516 - Memory barriers cleanup. Comments for them improved
- Small docs update
 - srpt/README_in-tree added



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@614 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-12-10 10:55:01 +00:00
Bart Van Assche
f1b811e8dc Fixed typo.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@607 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-12-06 14:04:29 +00:00
Vladislav Bolkhovitin
26cde4de56 Make soft IRQ context default
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@594 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-12-03 18:01:42 +00:00
Vladislav Bolkhovitin
e967b30f95 Small cleanup of unused code
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@566 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-11-10 17:23:23 +00:00
Vladislav Bolkhovitin
06905f3e57 Follow-up improvements to r556
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@558 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-10-31 16:17:08 +00:00
Vladislav Bolkhovitin
3379376993 - Fixed incorrect SCST state used on error path
- Small cleanups
 - ToDo entry added


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@557 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-10-31 11:16:47 +00:00
Vladislav Bolkhovitin
90c831b838 Cleanup removing usage of in_atomic(). Particularly, now target drivers and dev handlers need to explicitly supply preferred execution context in scst_cmd_done() and scst_tgt_cmd_done().
WARNING! This commit changes external SCST interface, so it can break compilation of your out of SCST SVN tree target driver or dev handler. To fix it, simply supply the preferred exection context to scst_cmd_done() and/or scst_tgt_cmd_done().

Thanks to Bart Van Assche <bart.vanassche@gmail.com> for pointing on it.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@556 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-10-31 10:49:25 +00:00
Vladislav Bolkhovitin
0b2be958e9 The patch below makes the srpt driver compile against the 2.6.27 kernel
headers.

Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
Acked-by: Vu Pham <vu@mellanox.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@551 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-10-30 12:34:48 +00:00
Vladislav Bolkhovitin
2688d2b8c4 The patch below fixes the sparse warnings in ib_srpt.c about missing
declarations by inserting the keyword static where appropriate.

This patch has been verified by rereading the patch carefully, and by verifying
that SCST source code still compiles fine.

Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@539 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-10-24 12:14:11 +00:00
Vladislav Bolkhovitin
775ddf6f18 The patch below implements the following changes, because an
upcoming checkpatch version will complain about these:
* Make sure that a single tab is used for indenting instead of four spaces.
* Removed spaces from around the colon used for specifying field widths.
* Remove trailing whitespace in .txt files.

This patch has been tested by verifying that:
- the output of svn diff -x -w is empty, i.e. that the patch only affects
  whitespace.
- the SCST out-of-tree source code still compiles fine against the 2.6.25 kernel
  (make -s clean && make -C srpt -s clean && make -s scst iscsi-scst && make -C srpt -s).

Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@525 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-10-16 17:46:37 +00:00