14 years agoFixed wrong state assigmnent in scst_xmit_response()
vlnb [Tue, 22 Apr 2008 15:04:09 +0000 (15:04 +0000)]
Fixed wrong state assigmnent in scst_xmit_response()

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@351 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoThe bunch of pending changes. Sorry, it's quite big.
vlnb [Tue, 22 Apr 2008 10:30:53 +0000 (10:30 +0000)]
The bunch of pending changes. Sorry, it's quite big.

 - "RECEIVE DIAGNOSTIC RESULTS" command handling fixed
 - Obtaining device queue parameters in scst_obtain_device_parameters() changed to handle NOT READY sense
 - Fixed possible dev_cmd_count underflow
 - Minor iSCSI-SCST connection closing cleanups and fixes
 - Semantic of other *_atomic flags changed a bit. Now they are intended only to allow SCST to optimize execution context. The corresponing functions now can *always* be called on atomic context and, if necessary, should manually determine that using scst_cmd_atomic() function and restart using corresponding *_NEED_THREAD_* return value.
 - scst_cmd_get_tgt_resp_flags() and SCST_TSC_FLAG_STATUS flag made obsolete and replaced by scst_cmd_get_is_send_status(). All in-tree drivers updated accordingly
 - Cleanup: preprocessing_done_atomic removed, now preprocessing_done() callback always called on thread context
 - 64-bit cleanups
 - Documented that iscsi-scst-adm is currently broken and explained why
 - In user space Makefile's added possibility to specify external linker flags
 - Minor performance optimizations
 - Other minor cleanups

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@350 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoType fix.
swgruszka [Mon, 21 Apr 2008 17:37:43 +0000 (17:37 +0000)]
Type fix.

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@349 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoRemove not necessary headers and definitions.
swgruszka [Mon, 21 Apr 2008 17:34:42 +0000 (17:34 +0000)]
Remove not necessary headers and definitions.

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@348 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoFixes compilation brokenness on kernels below 2.6.24
vlnb [Mon, 21 Apr 2008 16:34:55 +0000 (16:34 +0000)]
Fixes compilation brokenness on kernels below 2.6.24

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@347 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoAdded possibility to create virtual removable devices
vlnb [Mon, 21 Apr 2008 15:04:10 +0000 (15:04 +0000)]
Added possibility to create virtual removable devices

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@346 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoLimit scatter/gather table size (need to be reviewed).
swgruszka [Mon, 21 Apr 2008 10:45:22 +0000 (10:45 +0000)]
Limit scatter/gather table size (need to be reviewed).

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@345 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years ago- bug fix: pass error to scst_rx_data
swgruszka [Mon, 21 Apr 2008 10:37:35 +0000 (10:37 +0000)]
- bug fix: pass error to scst_rx_data
- set transfer length for SPI transport
- add unlikely()/likely()
- print error when don't know what to do with tmd

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@344 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoRemove obsolete kernel_thread and use kthread API.
swgruszka [Mon, 21 Apr 2008 10:31:16 +0000 (10:31 +0000)]
Remove obsolete kernel_thread and use kthread API.

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@343 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoChange proc interface to SCST like. Allow to enable/disable each lun for SPI device.
swgruszka [Mon, 21 Apr 2008 10:27:59 +0000 (10:27 +0000)]
Change proc interface to SCST like. Allow to enable/disable each lun for SPI device.

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@342 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoLogout implementation, reference counting to protect initiator data.
swgruszka [Mon, 21 Apr 2008 08:36:14 +0000 (08:36 +0000)]
Logout implementation, reference counting to protect initiator data.

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@341 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoForgotten in r338 patches
vlnb [Mon, 21 Apr 2008 07:01:13 +0000 (07:01 +0000)]
Forgotten in r338 patches

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@340 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoMore svn:ignore fixes
vlnb [Fri, 18 Apr 2008 16:42:10 +0000 (16:42 +0000)]
More svn:ignore fixes

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@339 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoUpdate for 2.6.25
vlnb [Fri, 18 Apr 2008 16:38:39 +0000 (16:38 +0000)]
Update for 2.6.25

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@338 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoscsi_tgt.h renamed to scst.h
vlnb [Thu, 17 Apr 2008 17:35:37 +0000 (17:35 +0000)]
scsi_tgt.h renamed to scst.h

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@337 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years ago - Fixes scst_user brokennesses in various modes, especially in iSCSI-SCST
vlnb [Thu, 17 Apr 2008 15:25:39 +0000 (15:25 +0000)]
 - Fixes scst_user brokennesses in various modes, especially in iSCSI-SCST
 - Minor debug logging fixes
 - Minor cleanups

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@336 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoRemove unintended change from r334, added there only for testing TM.
swgruszka [Fri, 11 Apr 2008 08:18:02 +0000 (08:18 +0000)]
Remove unintended change from r334, added there only for testing TM.

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@335 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoFixes for task management:
swgruszka [Fri, 11 Apr 2008 07:34:07 +0000 (07:34 +0000)]
Fixes for task management:
- abort only tasks from initiator, which send TM function
- check LUN for LUN_RESET function
- schedule tasklet to free aborted command from tmd's queue
- call scst_tgt_cmd_done() to free aborted command from SCST

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@334 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoCritical fix:
vlnb [Thu, 10 Apr 2008 10:57:30 +0000 (10:57 +0000)]
Critical fix:

 - Fixes hang on HEAD OF QUEUE commands under high load

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@333 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoFix bug when checking tmd flags against bidirectional transfer.
swgruszka [Tue, 8 Apr 2008 09:11:10 +0000 (09:11 +0000)]
Fix bug when checking tmd flags against bidirectional transfer.

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@332 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoPass expected transfer length and direction to SCST for fibre channel devices.
swgruszka [Tue, 8 Apr 2008 06:47:30 +0000 (06:47 +0000)]
Pass expected transfer length and direction to SCST for fibre channel devices.
Fix bug when using SCST_DATA_UNKNOWN insted of SCST_DATA_NONE.

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@331 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoWe need only 2 debug level, one for error situations, second for normal
swgruszka [Fri, 4 Apr 2008 12:18:00 +0000 (12:18 +0000)]
We need only 2 debug level, one for error situations, second for normal
data flow. Print only in debug mode about sense buffer cutting.

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@330 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoDocument changes about how to enable/disable target.
swgruszka [Fri, 4 Apr 2008 12:02:20 +0000 (12:02 +0000)]
Document changes about how to enable/disable target.

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@329 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoFix bug when enabling target on nonzero channel.
swgruszka [Fri, 4 Apr 2008 11:57:40 +0000 (11:57 +0000)]
Fix bug when enabling target on nonzero channel.

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@328 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoFix bugs introduced in r325 and r324.
swgruszka [Fri, 4 Apr 2008 11:53:01 +0000 (11:53 +0000)]
Fix bugs introduced in r325 and r324.

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@327 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoRemove trailing whitespaces.
swgruszka [Fri, 4 Apr 2008 11:49:19 +0000 (11:49 +0000)]
Remove trailing whitespaces.

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@326 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoImplement multichannel support in the way each channel is seen by SCST
swgruszka [Fri, 4 Apr 2008 11:48:28 +0000 (11:48 +0000)]
Implement multichannel support in the way each channel is seen by SCST
as separate HBA.

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@325 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoFix HBA registration / unregistration:
swgruszka [Fri, 4 Apr 2008 11:26:53 +0000 (11:26 +0000)]
Fix HBA registration / unregistration:
- not acknowledge when fail to register
- unregistration when no one can call functions from HBA

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@324 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoDo not dump stack when data length is bigger than low level driver can handle.
swgruszka [Fri, 4 Apr 2008 11:17:49 +0000 (11:17 +0000)]
Do not dump stack when data length is bigger than low level driver can handle.

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@323 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoPrint error when we can not send all sense data (which is very unlikely).
swgruszka [Tue, 1 Apr 2008 13:51:07 +0000 (13:51 +0000)]
Print error when we can not send all sense data (which is very unlikely).

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@322 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoAdd missed things from Feral CVS repository.
swgruszka [Tue, 1 Apr 2008 12:04:34 +0000 (12:04 +0000)]
Add missed things from Feral CVS repository.

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@321 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoStop setting command expected values for SCST,
swgruszka [Tue, 1 Apr 2008 07:14:26 +0000 (07:14 +0000)]
Stop setting command expected values for SCST,
as we can not assure values are right.

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@320 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years ago- Update copyrights.
swgruszka [Tue, 1 Apr 2008 06:47:11 +0000 (06:47 +0000)]
- Update copyrights.
- Substitute scsi_tdebug to debug.

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@319 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoRemove obsolete linux stuff.
swgruszka [Tue, 1 Apr 2008 06:38:55 +0000 (06:38 +0000)]
Remove obsolete linux stuff.

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@318 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoSynchronize with Feral CVS repository:
swgruszka [Fri, 28 Mar 2008 13:03:31 +0000 (13:03 +0000)]
Synchronize with Feral CVS repository:
- define an IS_1020 macro
- more dma mask cleanups

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@317 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoSynchronize with Feral CVS repository:
swgruszka [Fri, 28 Mar 2008 13:01:38 +0000 (13:01 +0000)]
Synchronize with Feral CVS repository:
- Make pre-1240 cards be able to do 64 bit dma as well, making sure that
  they don't cross a 16MB boundary.

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@316 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoSynchronize with Feral CVS repository:
swgruszka [Fri, 28 Mar 2008 13:00:26 +0000 (13:00 +0000)]
Synchronize with Feral CVS repository:
- remove the poorly thought out isp_in_intr goop

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@315 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoSynchronize with Feral CVS repository:
swgruszka [Fri, 28 Mar 2008 12:58:58 +0000 (12:58 +0000)]
Synchronize with Feral CVS repository:
- Make FC_SCRATCH_ACQUIRE a macro that returns true/false
- Fixes from Stanislaw for 2.6.23 & 2.6.24. Many thanks.
- A quick hack to isp_kthread to use waitqueues instead of semaphores
  to have less blockage. More rewrites later

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@314 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoSynchronize with Feral CVS repository:
swgruszka [Fri, 28 Mar 2008 12:47:37 +0000 (12:47 +0000)]
Synchronize with Feral CVS repository:
- Do some whitespace changes. Solaris related compilation fix. Remove
- Remove XS_SET_STATE_STATE macro.

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@313 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoSynchronize with Feral CVS repository:
swgruszka [Fri, 28 Mar 2008 12:44:16 +0000 (12:44 +0000)]
Synchronize with Feral CVS repository:
- update 24xx firmware to 4.03.00

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@312 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoSynchronize with Feral CVS repository:
swgruszka [Fri, 28 Mar 2008 12:42:36 +0000 (12:42 +0000)]
Synchronize with Feral CVS repository:
- whitespace and other minor fixes
- Remove F/W crash dump support. We only worked it out for 2200 and 2300
  cards. It's also true that QLogic would not support us even if we *did*
  give them a crash dump, so the usage here is not really worth it.

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@311 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoSynchronize with Feral CVS repository:
swgruszka [Fri, 28 Mar 2008 12:38:10 +0000 (12:38 +0000)]
Synchronize with Feral CVS repository:
- simplify: remove f/w crashdump stuff

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@310 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoSynchronize with Feral CVS repository:
swgruszka [Fri, 28 Mar 2008 12:35:40 +0000 (12:35 +0000)]
Synchronize with Feral CVS repository:
- Use a slightly cleaner macro.

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@309 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoSynchronize with Feral CVS repository:
swgruszka [Fri, 28 Mar 2008 12:33:36 +0000 (12:33 +0000)]
Synchronize with Feral CVS repository:
- whitespace

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@308 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoSynchronize with Feral CVS repository:
swgruszka [Fri, 28 Mar 2008 12:31:35 +0000 (12:31 +0000)]
Synchronize with Feral CVS repository:
- Allow different platforms/environments to specificy the size of the
  high and low private storage for tmd_cmd_t structures
- Add a scan scsi thread event so that we can attach devices as we
  discover them
- Fix some tabs
- Make things work correctly when CONFIG_FW_LOADER is *not* defined
- Get rid of sema and use wait_interruptible

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@307 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoSynchronize with Feral CVS repository:
swgruszka [Fri, 28 Mar 2008 12:27:17 +0000 (12:27 +0000)]
Synchronize with Feral CVS repository:
- remove redundant pdb

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@306 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoSynchronize with Feral CVS repository:
swgruszka [Fri, 28 Mar 2008 12:23:27 +0000 (12:23 +0000)]
Synchronize with Feral CVS repository:
- Copyright Update
- Fix some fabric login bugs

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@305 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoPatch from Vu Pham <vuhuong@mellanox.com>: SRP target driver
vlnb [Mon, 17 Mar 2008 11:29:50 +0000 (11:29 +0000)]
Patch from Vu Pham <vuhuong@mellanox.com>: SRP target driver

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@304 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoFixes possible *dev_cmd_count leak
vlnb [Fri, 14 Mar 2008 10:42:03 +0000 (10:42 +0000)]
Fixes possible *dev_cmd_count leak

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@303 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoBugfixes:
swgruszka [Thu, 13 Mar 2008 10:58:44 +0000 (10:58 +0000)]
- pass commands to SCST after assigning initiator to them
- enable lun's on proper channel

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@302 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years ago - Fixed race on TM leading to crashes
vlnb [Tue, 11 Mar 2008 19:09:30 +0000 (19:09 +0000)]
 - Fixed race on TM leading to crashes
 - Connection close improved to be less agressive and honor TCP TIME_WATE state
 - Docs updates

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@301 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoProtect initiators list using tmds_lock. Avoid possibility to
swgruszka [Tue, 11 Mar 2008 14:27:13 +0000 (14:27 +0000)]
Protect initiators list using tmds_lock. Avoid possibility to
allocate initiator twice.

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@300 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years ago - Fixed READ POSITION command handling
vlnb [Mon, 10 Mar 2008 10:59:56 +0000 (10:59 +0000)]
 - Fixed READ POSITION command handling
 - Fixed race in TM handling

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@299 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years ago - Fixed race on TM processing leading to BUG()
vlnb [Wed, 5 Mar 2008 18:22:01 +0000 (18:22 +0000)]
 - Fixed race on TM processing leading to BUG()
 - Fixed dev_cdrom and dev_modisk load failures if there are no media in the drives
 - Other minor fixes and cleanups

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@298 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years ago - TM fixes
vlnb [Fri, 29 Feb 2008 18:25:56 +0000 (18:25 +0000)]
 - TM fixes
 - Optimizations and send timeout introduced in r295 temporary disabled
 - Big connection shutdown times improvements. Great thanks to Alexey Kuznetsov for suggestions!
 - RESERVE/RELEASE serialization now made with TST field 0 (i.e. single task set)
 - Other minor fixes and improvements

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@297 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years ago - Fixes for previous commit
vlnb [Tue, 26 Feb 2008 18:22:45 +0000 (18:22 +0000)]
 - Fixes for previous commit
 - Minor logging improvements

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@296 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoA bunch of pending changes:
vlnb [Mon, 25 Feb 2008 18:48:02 +0000 (18:48 +0000)]
A bunch of pending changes:
 - Response data send timeout implemented: now if initiator doesn't accept data for too long (7 sec), target closes connection
 - Connction closing improved: now session cleared without need to wait for all outstanding commands data fully transmitted
 - On session unregistration now all outstanding commands are implicitely aborted
 - TM processing in SCST core made independant from other TM commands (before they were serialized)
 - Few bug fixes
 - Other minor improvements and cleanups
 - Docs update

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@295 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoPass proper expected length for INQUIRY command
swgruszka [Tue, 19 Feb 2008 12:02:14 +0000 (12:02 +0000)]
Pass proper expected length for INQUIRY command

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@294 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoUpdate README
swgruszka [Tue, 19 Feb 2008 10:42:43 +0000 (10:42 +0000)]

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@293 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoCompilation for kernel 2.6.24
swgruszka [Tue, 19 Feb 2008 10:12:12 +0000 (10:12 +0000)]
Compilation for kernel 2.6.24

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@292 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoAllow driver to compile
swgruszka [Tue, 19 Feb 2008 09:38:52 +0000 (09:38 +0000)]
Allow driver to compile

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@291 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoAvoid race conditions when task is aborted. Commands can be
swgruszka [Tue, 19 Feb 2008 09:37:46 +0000 (09:37 +0000)]
Avoid race conditions when task is aborted. Commands can be
in two places, our internal queue or passed to SCST.

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@290 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoInterface to enable/disable target per channel
swgruszka [Tue, 19 Feb 2008 09:19:38 +0000 (09:19 +0000)]
Interface to enable/disable target per channel

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@289 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoSome cleanups and performance works
vlnb [Mon, 18 Feb 2008 18:44:29 +0000 (18:44 +0000)]
Some cleanups and performance works

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@288 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years ago - Fixed minor problem in iSCSI-SCST
vlnb [Wed, 13 Feb 2008 17:15:47 +0000 (17:15 +0000)]
 - Fixed minor problem in iSCSI-SCST
 - Important reference counting and barriers usage cleanups
 - Sense buffer made dynamic
 - Other minor improvements and cleanups
 - Docs updates

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@287 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoPrevent to compile broken driver
swgruszka [Wed, 13 Feb 2008 16:28:35 +0000 (16:28 +0000)]
Prevent to compile broken driver

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@286 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoLet's isp_scst.c compile, multichannel support will be added later.
swgruszka [Tue, 12 Feb 2008 11:52:00 +0000 (11:52 +0000)]
Let's isp_scst.c compile, multichannel support will be added later.

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@285 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoSynchronize with Feral CVS repository:
swgruszka [Tue, 12 Feb 2008 11:10:16 +0000 (11:10 +0000)]
Synchronize with Feral CVS repository:

Clean up MSI-X implementation and make sure we snag at least *3* vectors
so that the ATIO-Q vector is snagged.

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@284 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoSynchronize with Feral CVS repository:
swgruszka [Tue, 12 Feb 2008 11:08:06 +0000 (11:08 +0000)]
Synchronize with Feral CVS repository:
- Add a missing MSI disable and provide for pre-2.6.8 kernels.
- Fix bugs- forgot to actually compile (shame on me).

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@283 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoSynchronize with Feral CVS repository:
swgruszka [Tue, 12 Feb 2008 11:05:04 +0000 (11:05 +0000)]
Synchronize with Feral CVS repository:

I don't know why I thought this would work- forcing a re-login to the fabric
controller just barfs.

Make down count reflect jiffies elapsed rather than depend on calls to

Shorten deadloop time default to 10 seconds.

At least enable MSI (if not MSI-X) for 24XX cards.

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@282 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoSynchronize with Feral CVS repository:
swgruszka [Tue, 12 Feb 2008 11:02:21 +0000 (11:02 +0000)]
Synchronize with Feral CVS repository:

We can (somehow) get commands on an atio7 for which we've never had a PLOGI/PRLI.
How this happens, I don't know. Anyway, we stick a tentative entry in the PDB
and call the task thread to find the rest of the info. This includes, badly and
stupidly, searching for the N-port handle by asking the chip. Sometimes it's not
there. In that case, we terminate the command.

In restarting commands that arrive while we start up, have the watchdog
time call isp_task_thread- this gives us a bit of hysteresis.

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@281 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoSynchronize with Feral CVS repository:
swgruszka [Tue, 12 Feb 2008 10:59:43 +0000 (10:59 +0000)]
Synchronize with Feral CVS repository:
- Need to include linux/vmalloc.h. Showed up on PPC port.
- Fix complaints about using an uninitialized pointer.

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@280 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoSynchronize with Feral CVS repository:
swgruszka [Tue, 12 Feb 2008 10:55:04 +0000 (10:55 +0000)]
Synchronize with Feral CVS repository:

Make 2100/2200 and 2300 cards also maintain a target mode port database.

For the 24XX, we have to find the IID, N-port handle and channel when we
get an ATIO7. For the other cards, we already have the channel and N-port
handle and Port IID of the initiator, but have to find the S_ID.

Do the isp_find_pdb_by_{sid,loopid} functions search backwards to minimize
search time.

Don't load fw images more than once per device type!

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@279 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoSynchronize with Feral CVS repository:
swgruszka [Tue, 12 Feb 2008 10:50:57 +0000 (10:50 +0000)]
Synchronize with Feral CVS repository:
- Allow ISP_FC_GETDINFO callers to get target mode entries.
- Remove stray '`' from define and PPC is now working again.
- Fix a typo which had us loading 2322 f/w into a 2300. Oops.

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@278 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoSynchronize with Feral CVS repository:
swgruszka [Tue, 12 Feb 2008 10:48:35 +0000 (10:48 +0000)]
Synchronize with Feral CVS repository:

Put RISC_CODE define in the firmware files.

Use the Linux 2.6 firmware loader support if available. This saves
close to 700K of useless code getting loaded otherwise.

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@277 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoSynchronize with Feral CVS repository:
swgruszka [Tue, 12 Feb 2008 10:46:32 +0000 (10:46 +0000)]
Synchronize with Feral CVS repository:

Set PCI-X and PCI-E readahead to what QLogic manuals recommend.

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@276 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoSynchronize with Feral CVS repository:
swgruszka [Tue, 12 Feb 2008 10:44:49 +0000 (10:44 +0000)]
Synchronize with Feral CVS repository:

If we're in role=NONE, then make sure that isp_init code sets state to

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@275 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoSynchronize with Feral CVS repository:
swgruszka [Tue, 12 Feb 2008 10:41:45 +0000 (10:41 +0000)]
Synchronize with Feral CVS repository:

Note that asking for "prefer N-port and then Loop" with the 24XX seems to
cause the f/w to crash. So, don't do that.

Firmware crashes are now considered fatal and cause the HBA to be marked dead.

Now that we've avoided the f/w crash in isp_init_24xx, we can process
toplogy options.

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@274 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoSynchronize with Feral CVS repository:
swgruszka [Tue, 12 Feb 2008 10:37:37 +0000 (10:37 +0000)]
Synchronize with Feral CVS repository:

Add some code to do special IOCBs (that can just be ignored if they show
up as status IOCBs)- this is for some performance testing infrastructure.

Add some performance testing stuff.

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@273 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoSynchronize with Feral CVS repository:
swgruszka [Tue, 12 Feb 2008 10:18:14 +0000 (10:18 +0000)]
Synchronize with Feral CVS repository:

Don't use both WWNs in the ICB block unless they're not NAA==2. This makes us
more consistent with QLogic driver setups and thus more likely to fit into the
same zoning setups.

If we're getting a PDB and it's for the Fabric Controller, force a login
to it (just in case it logged out underneath us). Return 'not logged in'
for the 24XX in case the 24XX specific login state isn't in the range of

Don't do local loop scans if we have more than one channel (NP-IV) and we're
in a FL-port topology- we just end up poking ourselves usually.

Make sure we set loopstate in a couple of places we missed so that we
try and get it again.

Add in the RESET DEVICE and ABORT COMMAND functions for the 24XX cards

Fix a longstanding bug where were passing the wrong (off by one) output
pointer to isp_handle_other_response.

Change isp_async...ISPASYNC_CHANGE_NOTIFY to have N-port handle, nlstate and
reason included as we get these for free with PDB Changed stuff for the
24XX card. Eventually we should be able to edit single local PDB entry
states instead of doing a full eval.

Put in the put of a 24XX Task Management Function IOCB. There is no get because
the firmware doesn't return it when done- instead a status iocb is done.

There is no "FAST POST" flag for the 24XX- this is a NOACK flag which means
that there is no interrupt if all goes well.

Fix spelling mistakes.

In isp_add_wwn_entry, ahem, don't allocate PDB entries out of the 'rexerved
for chip' area.

Put more comments in as to why we're terminating an exchange (and make them

Add, finally, the correct handling for a QIN_NOTIFY_ACK for a task management
function- this means we construct a ct7_entry_t to get the firmware to send
an FC Response IU for it. So, finally LUN RESETS and TARGET RESETS and
ABORT TASK will actually work and, more importantly, be seen to be working
by initiators.

Fix WWN defaults/active generation and retrieval. It was broken.

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@272 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoSynchronize with Feral CVS repository:
swgruszka [Tue, 12 Feb 2008 10:02:35 +0000 (10:02 +0000)]
Synchronize with Feral CVS repository:

Fix a comment typo. Force on HARD ADDRESS for the 24XX.

Fix retry on error case- most of the time we *don't* want to retry a command
sent back with TDFL_ERROR set- instead we want to set PARITY ERROR as a
CA condition and just FIN the cmd.

Comment for r270:

1. A major botch for local loop handling - we were never getting past loopid zero
in isp_scan_loop. Bad doggie!

2. *Do* scan our loopid- this seems to allow us to find entities which are there
and have a N-port handle that is identical to ours. I have no idea how the QLogic
sorts this out. At least, this is how it seems to work for the 24XX in local loop

Don't deadlock with the HBA lock when performing a rescan ioctl. Also,
mark the loop state as if we'd just received a PDB event- that way

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@271 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoSynchronize with Feral CVS repository:
swgruszka [Tue, 12 Feb 2008 09:57:26 +0000 (09:57 +0000)]
Synchronize with Feral CVS repository:

Fix a comment typo. Force on HARD ADDRESS for the 24XX.

Fix retry on error case- most of the time we *don't* want to retry a command
sent back with TDFL_ERROR set- instead we want to set PARITY ERROR as a
CA condition and just FIN the cmd.

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@270 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoSynchronize with Feral CVS repository:
swgruszka [Tue, 12 Feb 2008 09:55:49 +0000 (09:55 +0000)]
Synchronize with Feral CVS repository:
- fix comment

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@269 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoSynchronize with Feral CVS repository:
swgruszka [Tue, 12 Feb 2008 09:53:27 +0000 (09:53 +0000)]
Synchronize with Feral CVS repository:
- Allow LIP to have a (possible) channel.
- Update for some channel stuff.
- whitespace

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@268 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoSynchronize with Feral CVS repository:
swgruszka [Tue, 12 Feb 2008 09:51:21 +0000 (09:51 +0000)]
Synchronize with Feral CVS repository:
- Clean up 24XX abort handling.
- Remove the response queue busy stuff and just have an in_intr flag to note
  interrupt recursion.
- Add a lower level error flag.
- Clarifiy a comment; make a definition for the 'no task' RX_ID.
- Change severity of f/w timeout message
- Do the wait for mbox0 clearing for 2312 cards > revision 1.

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@267 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoSynchronize with Feral CVS repository:
swgruszka [Tue, 12 Feb 2008 09:43:44 +0000 (09:43 +0000)]
Synchronize with Feral CVS repository:
- Make sure we set/clear TDFL_ERROR
- Make sure we set SENSE VALID when we do a synthetic CTIO that has status.

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@266 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoSynchronize with Feral CVS repository:
swgruszka [Tue, 12 Feb 2008 09:40:40 +0000 (09:40 +0000)]
Synchronize with Feral CVS repository:

Add unit attention injection. Fix some ridiculous Sense things.

Say why we couldn't pci register the driver.

Make isp_thread_event return an int if it fails to send the event. If it
fails to send the event, and this was for the 24XX card finding out the
initiator for a command, return the command with a BUSY status.

An N-port handle of zero is legal for a 24XX.

Add some more special N-Port handle definitions for 2K f/w.

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@265 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoSynchronize with Feral CVS repository:
swgruszka [Tue, 12 Feb 2008 09:35:47 +0000 (09:35 +0000)]
Synchronize with Feral CVS repository:

Warn about bogus sense data in isp_target_start_ctio. Remove some redundant
zero initializations.

Make more common and more useful the debug printouts for the
various target dma mapping routines.

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@264 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoSynchronize with Feral CVS repository:
swgruszka [Tue, 12 Feb 2008 09:33:44 +0000 (09:33 +0000)]
Synchronize with Feral CVS repository:

- Start checking for a couple of things for the type of SAN we're connected to.
- Remove restriction against 2.6.23.

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@263 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoSynchronize with Feral CVS repository:
swgruszka [Tue, 12 Feb 2008 09:31:23 +0000 (09:31 +0000)]
Synchronize with Feral CVS repository:

As of version 4.0.25 the vpindex is available for MID f/w on the 24XX
for ASYNC_CHANGE_NOTIFY in outgoing mailbox 3.

Per QLogic release notes, the immediate notify entry for the 24XX has
various other items of interest in it based upon the ELS code.

Per QLogic release notes, after 4.0.25 f/w the WWPN comes with the
PLOGI/PDISC/ADISC and LOGO ELS codes in the immediate notify structure.
This makes initiator WWN maintenance *way* easier.

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@262 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoSynchronize with Feral CVS repository:
swgruszka [Tue, 12 Feb 2008 09:22:32 +0000 (09:22 +0000)]
Synchronize with Feral CVS repository:
Hmm. Just in case INI_ANY and INI_NONE are not defined, define them here.
This is for the case of external software including isp_tpublic.h only.

Fix some misapplied flags.

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@261 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoSynchronize with Feral CVS repository:
swgruszka [Tue, 12 Feb 2008 09:18:28 +0000 (09:18 +0000)]
Synchronize with Feral CVS repository:

Go for the gusto and merge multichan_development into the head branch. This
will break FreeBSD and NetBSD ports for a while (yawn) and solaris is dubious

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@260 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoSynchronize with Feral CVS repository:
swgruszka [Tue, 12 Feb 2008 09:11:30 +0000 (09:11 +0000)]
Synchronize with Feral CVS repository:
- do not dereference a null pointer

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@259 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoSynchronize with Feral CVS repository:
swgruszka [Tue, 12 Feb 2008 09:08:33 +0000 (09:08 +0000)]
Synchronize with Feral CVS repository:

Turn off, yet again, fast posting and RIO for 2200 cards. It just seems
to buggy in this driver to be used, and because of the age of the cards
not worth chasing down.

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@258 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoSynchronize with Feral CVS repository:
swgruszka [Tue, 12 Feb 2008 09:05:53 +0000 (09:05 +0000)]
Synchronize with Feral CVS repository:
- whitespace

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@257 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoSynchronize with Feral CVS repository:
swgruszka [Tue, 12 Feb 2008 08:58:04 +0000 (08:58 +0000)]
Synchronize with Feral CVS repository:
-revert the part of 1.174 that stopped complaining about not finding
 fast posting handles.
 multi-channel branch

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@256 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoSynchronize with Feral CVS repository:
swgruszka [Tue, 12 Feb 2008 08:40:54 +0000 (08:40 +0000)]
Synchronize with Feral CVS repository:
- clean up tpublic notes and change tmd_xfr_t to tmd_xact_t
- minor cleanups from mendocino

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@255 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoSmall typo noticed by Tomasz Chmielewski
vlnb [Fri, 8 Feb 2008 16:20:27 +0000 (16:20 +0000)]
Small typo noticed by Tomasz Chmielewski

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@254 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoClustering statistic added
vlnb [Fri, 1 Feb 2008 15:41:38 +0000 (15:41 +0000)]
Clustering statistic added

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@253 d57e44dd-8a1f-0410-8b47-8ef2f437770f

14 years agoForgotten in the previous commit kernel patches
vlnb [Fri, 1 Feb 2008 10:33:47 +0000 (10:33 +0000)]
Forgotten in the previous commit kernel patches

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@252 d57e44dd-8a1f-0410-8b47-8ef2f437770f