Commit Graph

328 Commits

Author SHA1 Message Date
Stanislaw Gruszka
c4c19fa17f Fix bug when enabling target on nonzero channel.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@328 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-04-04 11:57:40 +00:00
Stanislaw Gruszka
19827957bb Fix bugs introduced in r325 and r324.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@327 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-04-04 11:53:01 +00:00
Stanislaw Gruszka
adb98e77c3 Remove trailing whitespaces.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@326 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-04-04 11:49:19 +00:00
Stanislaw Gruszka
16717c2bc9 Implement multichannel support in the way each channel is seen by SCST
as separate HBA.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@325 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-04-04 11:48:28 +00:00
Stanislaw Gruszka
be3bbaa220 Fix HBA registration / unregistration:
- not acknowledge when fail to register
- unregistration when no one can call functions from HBA


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@324 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-04-04 11:26:53 +00:00
Stanislaw Gruszka
09b77a6eeb Do not dump stack when data length is bigger than low level driver can handle.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@323 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-04-04 11:17:49 +00:00
Stanislaw Gruszka
f9af070111 Print error when we can not send all sense data (which is very unlikely).
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@322 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-04-01 13:51:07 +00:00
Stanislaw Gruszka
ca650f2bb6 Add missed things from Feral CVS repository.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@321 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-04-01 12:04:34 +00:00
Stanislaw Gruszka
802ee69a76 Stop setting command expected values for SCST,
as we can not assure values are right.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@320 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-04-01 07:14:26 +00:00
Stanislaw Gruszka
a5fb49273f - Update copyrights.
- Substitute scsi_tdebug to debug.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@319 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-04-01 06:47:11 +00:00
Stanislaw Gruszka
dd108f6edb Remove obsolete linux stuff.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@318 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-04-01 06:38:55 +00:00
Stanislaw Gruszka
2152c7ad20 Synchronize with Feral CVS repository:
- define an IS_1020 macro
- more dma mask cleanups


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@317 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-03-28 13:03:31 +00:00
Stanislaw Gruszka
e9b645432d 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: http://svn.code.sf.net/p/scst/svn/trunk@316 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-03-28 13:01:38 +00:00
Stanislaw Gruszka
ec367bff87 Synchronize with Feral CVS repository:
- remove the poorly thought out isp_in_intr goop


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@315 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-03-28 13:00:26 +00:00
Stanislaw Gruszka
d2303505f5 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: http://svn.code.sf.net/p/scst/svn/trunk@314 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-03-28 12:58:58 +00:00
Stanislaw Gruszka
d558c6d867 Synchronize with Feral CVS repository:
- Do some whitespace changes. Solaris related compilation fix. Remove
  XS_SET_STATE_STAT macro.
- Remove XS_SET_STATE_STATE macro.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@313 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-03-28 12:47:37 +00:00
Stanislaw Gruszka
c8998a3608 Synchronize with Feral CVS repository:
- update 24xx firmware to 4.03.00


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@312 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-03-28 12:44:16 +00:00
Stanislaw Gruszka
b3cbdff958 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: http://svn.code.sf.net/p/scst/svn/trunk@311 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-03-28 12:42:36 +00:00
Stanislaw Gruszka
e9d1b2f52a Synchronize with Feral CVS repository:
- simplify: remove f/w crashdump stuff


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@310 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-03-28 12:38:10 +00:00
Stanislaw Gruszka
8ec477fea4 Synchronize with Feral CVS repository:
- Use a slightly cleaner macro.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@309 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-03-28 12:35:40 +00:00
Stanislaw Gruszka
7d98059854 Synchronize with Feral CVS repository:
- whitespace


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@308 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-03-28 12:33:36 +00:00
Stanislaw Gruszka
c2d9a1310f 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: http://svn.code.sf.net/p/scst/svn/trunk@307 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-03-28 12:31:35 +00:00
Stanislaw Gruszka
28c8ffd7e2 Synchronize with Feral CVS repository:
- remove redundant pdb


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@306 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-03-28 12:27:17 +00:00
Stanislaw Gruszka
dc05d8b731 Synchronize with Feral CVS repository:
- Copyright Update
- Fix some fabric login bugs


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@305 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-03-28 12:23:27 +00:00
Vladislav Bolkhovitin
240d5511be Patch from Vu Pham <vuhuong@mellanox.com>: SRP target driver
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@304 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-03-17 11:29:50 +00:00
Vladislav Bolkhovitin
6993f48774 Fixes possible *dev_cmd_count leak
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@303 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-03-14 10:42:03 +00:00
Stanislaw Gruszka
c09205bd0c Bugfixes:
- pass commands to SCST after assigning initiator to them
- enable lun's on proper channel


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@302 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-03-13 10:58:44 +00:00
Vladislav Bolkhovitin
7fcabadf56 - 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: http://svn.code.sf.net/p/scst/svn/trunk@301 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-03-11 19:09:30 +00:00
Stanislaw Gruszka
366a99f781 Protect initiators list using tmds_lock. Avoid possibility to
allocate initiator twice.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@300 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-03-11 14:27:13 +00:00
Vladislav Bolkhovitin
e89cdc5baf - Fixed READ POSITION command handling
- Fixed race in TM handling


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@299 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-03-10 10:59:56 +00:00
Vladislav Bolkhovitin
3ddb4c7653 - 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: http://svn.code.sf.net/p/scst/svn/trunk@298 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-03-05 18:22:01 +00:00
Vladislav Bolkhovitin
ba3062fe6b - 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: http://svn.code.sf.net/p/scst/svn/trunk@297 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-02-29 18:25:56 +00:00
Vladislav Bolkhovitin
f17ee9c61b - Fixes for previous commit
- Minor logging improvements


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@296 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-02-26 18:22:45 +00:00
Vladislav Bolkhovitin
9a48ab9d18 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: http://svn.code.sf.net/p/scst/svn/trunk@295 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-02-25 18:48:02 +00:00
Stanislaw Gruszka
32e45721e3 Pass proper expected length for INQUIRY command
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@294 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-02-19 12:02:14 +00:00
Stanislaw Gruszka
6ac8e0cb62 Update README
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@293 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-02-19 10:42:43 +00:00
Stanislaw Gruszka
0d9a7ade1a Compilation for kernel 2.6.24
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@292 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-02-19 10:12:12 +00:00
Stanislaw Gruszka
d512dabf27 Allow driver to compile
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@291 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-02-19 09:38:52 +00:00
Stanislaw Gruszka
c6231eda32 Avoid race conditions when task is aborted. Commands can be
in two places, our internal queue or passed to SCST.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@290 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-02-19 09:37:46 +00:00
Stanislaw Gruszka
7aeea459c0 Interface to enable/disable target per channel
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@289 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-02-19 09:19:38 +00:00
Vladislav Bolkhovitin
6fea5c313e Some cleanups and performance works
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@288 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-02-18 18:44:29 +00:00
Vladislav Bolkhovitin
eec2a571dd - 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: http://svn.code.sf.net/p/scst/svn/trunk@287 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-02-13 17:15:47 +00:00
Stanislaw Gruszka
f657ae2e93 Prevent to compile broken driver
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@286 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-02-13 16:28:35 +00:00
Stanislaw Gruszka
98eea4d65e Let's isp_scst.c compile, multichannel support will be added later.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@285 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-02-12 11:52:00 +00:00
Stanislaw Gruszka
11d433ade4 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: http://svn.code.sf.net/p/scst/svn/trunk@284 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-02-12 11:10:16 +00:00
Stanislaw Gruszka
c5e240b44f 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: http://svn.code.sf.net/p/scst/svn/trunk@283 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-02-12 11:08:06 +00:00
Stanislaw Gruszka
bdd6415a91 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
ISP_FC_RESCAN.

Shorten deadloop time default to 10 seconds.

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


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@282 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-02-12 11:05:04 +00:00
Stanislaw Gruszka
a090925a19 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: http://svn.code.sf.net/p/scst/svn/trunk@281 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-02-12 11:02:21 +00:00
Stanislaw Gruszka
ecd810bede 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: http://svn.code.sf.net/p/scst/svn/trunk@280 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-02-12 10:59:43 +00:00
Stanislaw Gruszka
17be1044c5 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: http://svn.code.sf.net/p/scst/svn/trunk@279 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-02-12 10:55:04 +00:00