recovery from not being able to push a ctio
fix is in. Various task management fixes are
also in. Other work in progress.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@672 d57e44dd-8a1f-0410-8b47-8ef2f437770f
Add support for up through 2.6.25 (might even be good for 2.6.26)
Remove HBAAPI support. This never has worked well and I doubt anyone will miss it.
Remove files not pertinent SCST build.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@493 d57e44dd-8a1f-0410-8b47-8ef2f437770f
The patch below implements the following changes:
- Fixes the remaining warnings reported by checkpatch.pl with regard to the use
of whitespace in C code.
- Adds double qoutes around some #warning messages, such that checkpatch.pl
does no longer try to interprete the text behind the #warning preprocessor
directive.
- Adds an extra conversion to the generate-kernel-patch script that removes
the single space from before goto-labels while generating the kernel patch.
This patch has been tested as follows:
- Verified that svn diff -x -w only shows changes in the #warning preprocessor directives.
- Verified the output of svn diff by reading it.
- Verified that checkpatch.pl does no longer complain on the use of whitespace
(searched through the checkpatch.pl output for the text ' space').
- Verified that the patch generated by the generate-kernel-patch script still
applies cleanly to the 2.6.24 kernel, and that the patched kernel still compiles cleanly.
Please let me know if I have to resubmit parts of this patch to other SCST authors.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@381 d57e44dd-8a1f-0410-8b47-8ef2f437770f
One of the Linux kernel patch submission requirements is that source files do
not contain trailing whitespace. The patch below removes trailing whitespace
from .c and .h source files.
Note: it might be more convenient to run the script I used to generate this
patch than to review and apply the patch below. This is how I generated and
verified the patch below:
cat <<EOF >./strip-trailing-whitespace
#!/bin/bash
trap "rm -f $t" EXIT
t=/tmp/temporary-file.$$
for f in "$@"
do
sed 's/[ ]*$//' <"$f" >"$t" && mv "$t" "$f"
done
EOF
chmod a+x ./strip-trailing-whitespace
find -name '*.[ch]' | xargs ./strip-trailing-whitespace
svn diff -x -w
Signed-off-by: <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@377 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- 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
- 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
- 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
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
If we're in role=NONE, then make sure that isp_init code sets state to
INITSTATE anyway.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@275 d57e44dd-8a1f-0410-8b47-8ef2f437770f
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: http://svn.code.sf.net/p/scst/svn/trunk@274 d57e44dd-8a1f-0410-8b47-8ef2f437770f
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: http://svn.code.sf.net/p/scst/svn/trunk@273 d57e44dd-8a1f-0410-8b47-8ef2f437770f
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
PLOGI_DONE to LOGGED IN.
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
(finally).
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
all ISP_LOGTINFO).
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: http://svn.code.sf.net/p/scst/svn/trunk@272 d57e44dd-8a1f-0410-8b47-8ef2f437770f
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
mode.
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: http://svn.code.sf.net/p/scst/svn/trunk@271 d57e44dd-8a1f-0410-8b47-8ef2f437770f
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: http://svn.code.sf.net/p/scst/svn/trunk@270 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- Add ASYNC_RCV_ERR
- Allow LIP to have a (possible) channel.
- Update for some channel stuff.
- whitespace
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@268 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- 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: http://svn.code.sf.net/p/scst/svn/trunk@267 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- 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: http://svn.code.sf.net/p/scst/svn/trunk@263 d57e44dd-8a1f-0410-8b47-8ef2f437770f
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: http://svn.code.sf.net/p/scst/svn/trunk@262 d57e44dd-8a1f-0410-8b47-8ef2f437770f
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
anyway.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@260 d57e44dd-8a1f-0410-8b47-8ef2f437770f
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: http://svn.code.sf.net/p/scst/svn/trunk@258 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- clean up tpublic notes and change tmd_xfr_t to tmd_xact_t
- minor cleanups from mendocino
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@255 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This is SCST driver for ISP Qlogic chipsets commonly used in many SCSI and FC
host bus adapters. Supported chipset are listed in README file, incomplete
list of supported HBA's is in doc/Hardware.txt .
It is based on Matthew Jacob's multiplatform driver for ISP chipsets,
which can be download from ftp://ftp.feral.com/pub/isp/isp_dist.tgz
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@135 d57e44dd-8a1f-0410-8b47-8ef2f437770f