Version: 0.9.10

Version: 1.1.2

2003-05-15	Mark_Salyzyn@adaptec.com

Differences between 2.4.21-rc2-ac2 kernel and our 1.1.2 versioned driver,
changes as performed by Deanna Bonds, Bob Pasteur and Mark Salyzyn.

aachba.c:
	- If the state of a logical unit is hidden, then do not report. This
	  state is typically entered when a device is being cleared.
	- Added support for the Tallahassee project, where one channel is
	  dedicated to SCSI, and the other channel is dedicated to RAID.
	- Resolved some issues surrounding PAE support and IA64.
	- If the driver is a not a boot disk driver, then set the Removable
	  bit on the inquiry strings returned by the logical units to ensure
	  that any changes in the arrays will be acquired when the device is
	  re-attached.
	- mask the SRB status with 0x3F to deal with misbehaving devices.
	- Do not report DISKs to inquiry requests on the SCSI bus except if
	  the channel is designated as a SCSI only bus.
	- Propagate check conditions to the SCSI command result.
	- Add support for programmable timeouts to propagate down toe the
	  requests.
	- If we have pae mode enabled, right after we get the adapter
	  information and determine the pae mode capability, we enable the
	  system to issue 64 bit requests.
aacraid.h:
	- Had to drop from 512 commands to 100 commands because some versions
	  of the firmware would starve commands causing a timeout reaction
	  which lead to lost commands.
	- Added a global control variable for nondasd and paemode support.
	- Dealt with some 64 bit / 32 bit issues in list_head structures and
	  helper Macros, replacing them with our own more sensitive variants.
	- Differentiated virtual and physical references to the shared fib
	  allocations.
	- information structure not synchronized to firmware, needed to add
	  a clusterchannelmask.
	- Added definitions in support of the new configuration information
	  page bits in support of Tallahassee.
	- Changed to an allocated fib pool, rather than an array in the hba
	  structure as this affected the SCSI memory pool.
	- Added some AIF definitions to permit us to sniff for container
	  changes to permit a rescan to pick up new information or targets.
commctrl.c:
	- The fib reference was changed to a physical and a virtual address,
	  absorb the name changes.
	- The list_head structure handlers have been replaced with our own,
	  absorb the name changes.
	- The fib address reported in an AIF is a physical (32 bit) reference,
	  and not a virtual (possibly 64 bit) reference.
	- added the ioctl handling for sending a raw srb (FSACTL_SEND_RAW_SRB).
comminit.c:
	- Deal with IA64 issues.
	- Change to using the physical address (32 bit) for the AIF references.
	- The list_head structure handlers have been replaced with our own,
	  absorb the name changes.
	- Observed a memory leak, free up the queue resources should we fail
	  to initialize the adapter.
commsup.c:
	- The fib reference was changed to a physical and a virtual address,
	  absorb the name changes.
	- Instead of panicking the kernel when a fib allocation was available,
	  sleep until it is available.
	- Submitted fib pointers are physical (32 bit) rather than virtual
	  (possibly 64 bit) values.
	- producer and consumer indexes should be converted over to local
	  cpu endian before comparison.
	- aac_handle_aif now sniffs AIF events and takes plug and play action
	  for container changes.
	- The aif thread is set up to be a kernel thread, and not a user
	  thread. This permits us the ability to make plug and play calls
	  without prejudice.
	- Added instrumentation to the aif thread to confirm the plug and
	  play activity and as an aid to several other debug sessions.
	- Do not age an aif context based on the last received aif, but rather
	  the last poll.
dpcsup.c:
	- The fib reference was changed to a physical and a virtual address,
	  absorb the name changes.
	- Submitted fib pointers are physical (32 bit) rather than virtual
	  (possibly 64 bit) values.
linit.c:
	- Added paemode control.
	- Added various upcoming board products, and documented better the
	  existing board product ids. This includes SATA RAID products.
	- needed to take the io_request_lock during portions of initialization.
	- allocate the fib resource separately, rather than part of adapter
	  structure to aid in the precious SCSI resources.
	- cleanup of none dasd support options.
	- Added more details about the build date of the driver to the proc
	  information.
	- dropped a change that permitted 64 bit DMA resources to be generated
	  instead of through a 32 bit bounce buffer. (it was moved to aachba.c
	  where it can be turned on after we determine the adapter's
	  capabilities).
	- max_id, max_lun and max_channel parameters are set after the
	  adapter information has been picked up (the number of channels is
	  based on the product id table now).
sa.c:
	- Context of timeout handling was incorrect, only noticed in IA64
	  bit machines (due to lack of BIOS initialization).

Differences that need further investigation and could be viewed as regressions
and added after submission:

rx.c:
	- Dropped detection of failure to generate kernel command thread.
sa.c:
	- Dropped detection of failure to generate kernel command thread.

Version: 1.1.3

2003-07-01	Mark_Salyzyn@adaptec.com

aachba.c:
	- Added aac_get_container_name to permit override of array inquiry
	  string with the set name.

2003-07-08	Mark_Salyzyn@adaptec.com

aachba.c:
	- Return 0 (success) for unsupported commands, the check condition
	  should perform the necessary action of error handling.

2003-07-10	Mark_Salyzyn@adaptec.com

aachba.c:
	- The pass-through SCSI SCB command in PAE mode was getting the fib
	  size count wrong, by using the 32 bit command, then doing an (n-1)
	  times the size of the 64 bit scatter gather. Resolution was to
	  subtract the 32 bit scatter gather, then do an n times the 64 scatter
	  gather size.
	- Only go into PAE mode if more than 4MB of memory in the system.

2003-07-10	Mark_Salyzyn@adaptec.com

linit.c:
	- Added `Family' product codes and reordered the product discovery code
	  to produce devices in PCI order rather than in product order.
	  Dell, Legend and Adaptec Families were produced with the assumption
	  of 2 available busses.

2003-07-24	Mark_Salyzyn@adaptec.com

linit.c:
	- Added Bearcat (6 ch SATA) and a commented entry for Lancer where
	  future workarounds may be necessary due to hardware constraints.
	- Set highmem_io (for kernels of 2.4.18 and above).

aachba.c:
	- Set highmem_io (for kernels of 2.4.18 and above; and when the
	  adapter is guaranteed to handle the possible address ranges it
	  will be provided).

Version: 1.1.4:

2003-07-28	Mark_Salyzyn@adaptec.com

aacraid.h+common/include/fsaioctl.h+aachba.c
	- Added the FSACTL_REGISTER_FIB_SEND function to the ioctl. This ioctl
	  is *not* a user accessible ioctl, meant only for driver use to permit
	  stacking a filter driver just ahead of the hardware layer. The call
	  to register is:

		typedef void (*fib_callback)(void *ctxt, struct fib *fibctx);
		typedef struct {
			int (*fib_send)(u16 command,
					struct fib * context,
					unsigned long fib_size,
					int priority,
					int wait,
					int reply
					fib_callback callback,
					void * ctxt);
		} fib_send_t;
		. . .
		fib_send_t original;
		int dummy_fib_send (u16 command,
				    struct fib * context,
				    unsigned long fib_size,
				    int priority,
				    int wait,
				    int reply
				    fib_callback callback,
				    void * ctxt)
		{
			return (*original->fib_send)(command, context, fib_size, priority, wait, reply, callback, ctxt);
		}
		. . .
		Scsi_Host_Template * host;
		Scsi_Device * adapter;
		original->fib_send = dummy_fib_send;
		host->ioctl(adapter, FSACTL_REGISTER_FIB_SEND, &original);

	  Return value from the ioctl include ENOTTY (not supported), EINVAL
	  (invalid argument pointer) and EBUSY (another function already
	  registered) and the original fib_send function is returned in the
	  ioctl argument structure. A NULL value for the fib_send member of the
	  structure deregisters the filter driver. The fib_callback function is
	  issued at interrupt priority and should follow all the constraints of
	  interrupt operation. It is the responsibility of the registered
	  fib_send function to ensure that the original fib_callback function
	  is called with the ctxt value when completing the command (this
	  subtlety is lost in the above dummy function).

2003-07-28	Mark_Salyzyn@adaptec.com

linit.c:
	- Added Kernel, Firmware and BIOS revision and build number to proc
	  information.
	- Added board serial number to proc information.

aachba.c:
	- Do not set removable bit in the inquiry command, the aif delivery
	  of array status change will handle the reasons for the removable
	  bit (capacity change and differences in the partition table). Some
	  customers take issue with the fact our arrays appear as removable.

commctrl.c:
	- Reported driver version and build number instead of Firmware version
	  and build number for the Miniport Version Check ioctl. ADPmp57715

2003-08-06	Mark_Salyzyn@adaptec.com and a cast of thousands

all files:
	- Added appropriate ifdefs, or merged in additions, in support of the
	  2.6.0-test2 kernels as follows:

Makefile:
	- Added ifdefs for 2.4 and 2.6 kernels so we can use a common Makefile
	  for both kernel build environments.

aachba.c:
	- use linux/blkdev.h in 2.5+ kernels.
	- define aac_spin_* macros to differentiate between lock requirements
	  in 2.5+ and 2.4 kernels.
	- Use the SCSI layers definitions of the SCSI commands, rather than
	  our own internal SS_* manifests.
	- Define SCSICMD_TO_* macros to acquire the SCSI target host, channel,
	  id and lun.
	- Use the 2.6 SAM_* status codes for return, the 2.4 system will
	  redefine the SAM_* codes to 2.4 variants.
	- Change to devname instead of devno when referencing devices to
	  simplify conversions.
	- MAXIMUM_NUM_CONTAINERS references were +/- 1 in comparisons, made
	  this value a `number' rather than a mix of `number' and `limit'.
	- Resolved `Cast of pointer from integer of different size' by
	  (void *)(ulong)dma_addr_t.
	- Change to `id' rather than `target' to match SCSI subsystem
	  references name for consistency.

aacraid.h:
	- MAXIMUM_NUM_CONTAINERS references were +/- 1 in comparisons, made
	  this value a `number' rather than a mix of `number' and `limit'.
	- Removed AAC_MAX_TARGET, as it is no longer used.
	- Added CONTAINER_TO_* macros to simplify references.
	- Change to `id' rather than `target' to match SCSI subsystem
	  references name for consistency.
	- Change to devname instead of devno when referencing devices.
	- Use cap_to_cyls inline to handle 64 bit calculation correctly.

commctrl.c:
	- use linux/blkdev.h in 2.5+ kernels.
	- Change to `id' rather than `target' to match SCSI subsystem
	  references name for consistency.

comminit.c:
	- use linux/blkdev.h in 2.5+ kernels.

commsup.c:
	- use linux/blkdev.h in 2.5+ kernels.
	- Moved CONTAINER_TO_* macros to aacraid.h to simplify references.
	- Device Discovery loops are different for 2.4 and 2.5+ kernels,
	  use list_for_each_entry siblings instead of host_queue loop.
	- daemonize adds the process name as a parameter, and requires
	  SIGKILL to be enabled to permit kernel shutdown in 2.5+ kernels.

dpcsup.c:
	- use linux/blkdev.h in 2.5+ kernels.

linit.c:
	- use linux/blkdev.h in 2.5+ kernels.
	- added aacids to provide a table hint for installers.
	- changed over to utilize ANSI structure initialization.
	- aac_biosparm and aac_procinfo change parameters in 2.5+ kernels.
	- aac_slave_configure replaces aac_queuedepth in 2.5+ kernels.
	- detect no longer needs to unlock io_request_lock to do it's duty
	  in 2.5+ kernels.
	- use SCSI_set_device in 2.5+ kernels rather than scsi_set_pci_device.
	- Change to devname instead of devno when referencing devices to
	  simplify conversions.
	- Use MAXIMUM_NUM_CONTAINERS rather than AAC_MAX_TARGET
	- Use cap_to_cyls inline to handle 64 bit calculation correctly in
	  aac_biosparm.
	- Use minor in 2.5+ kernels instead of MINOR macro.

rx.c:
	- use linux/blkdev.h in 2.5+ kernels.
	- interrupts now return irqreturn_t.

sa.c:
	- use linux/blkdev.h in 2.5+ kernels.
	- interrupts now return irqreturn_t.

2003-08-15	Mark_Salyzyn@adaptec.com

install.sh:
	- increased range of kernel version reports in the magic file to 30.

2003-08-19	Mark_Salyzyn@adaptec.com & ijohns@elipsan.com

aachba.c:
	- status_byte in the result is shifted down by one.
	- set_sense spoof was not immediately followed by a copy of the check
	  condition results into the SCSI command.

2003-08-20	Mark_Salyzyn@adaptec.com, Scott_Long@adaptec.com & Alan Cox

commctrl.c:
	- The raw SCSI SCB ioctl command in PAE mode was getting the fib
	  size count wrong, by using the 32 bit command, then doing an (n-1)
	  times the size of the 64 bit scatter gather. Resolution was to
	  subtract the 32 bit scatter gather, then do an n times the 64 scatter
	  gather size.

aacraid.h:
	- Added definition of CT_FLUSH_CACHE command and structures.
	- Added AAC_QUIRK_31BIT for ROMB based adapters.

linit.c:
	- Added AAC_QUIRK_31BIT for ROMB based adapters.
	- Check return from scsi_register.

aachba.c:
	- Added support for issuing CT_FLUSH_CACHE command when the SCSI
	  SYNCHRONIZE command is issued to a container.
	- Restored mask after adding AAC_QUIRK_31BIT for ROMB based adapters.

2003-08-21	Mark_Salyzyn@adaptec.com

aachba.c:
	- Changed aac_get_container_name to be a none-blocking function,
	  completing the incoming scsicmd with the adapter response.

2003-08-26	Mark_Salyzyn@adaptec.com

commsup.c + aacraid.h:
	- Altered handling of AIF messages from Firmware to differentiate
	  events in a finer grained manner.

2003-08-29	Mark_Salyzyn@adaptec.com

aachba.c + aacraid.h
	- Driver too noisy, undefined AAC_DETAILD_STATUS_INFO and incorporated
	  check condition report into the AAC_DETAILED_STATUS_INFO ifdef.

2003-09-03	Mark_Salyzyn@adaptec.com

aachba.c:
	- Check if the device is in use and report that as a locked device
	  to both the FSACTL_QUERY_DISK and FSACTL_DELETE_ARRAY ioctls.
	- unlock/lock around probe_container as this is a blocking function.
	  This change addresses a deadlock issue that surfaced in SMP only
	  environments.

Version: 1.1.4-2172

2003-09-04	Mark_Salyzyn@adaptec.com

commsup.c:
	- References to the Status Job update structure were at incorrect
	  offsets causing incorrect operation during an Array Clear with
	  regards to plug and play actions.

Version: 1.1.4-2177

2003-09-05	Mark_Salyzyn@adaptec.com

aachba.c:
	- Cleanup request from the SCSI list maintainers.
	- Dropped use of SCSICMD_TO_CHANNEL & friends since
	  scsicmd->device->channel is available in all versions of the
	  operating system.
	- Removed deprecated code and/or comments related to deprecation.
	- include <linux/blkdev.h> works in all versions of the operating
	  system.

2003-09-09	Mark_Salyzyn@adaptec.com

aacraid.h:
	- NUM_FIBs should be 64 larger (AIFS) larger than the NUM_IO_FIBS.

commsup.c:
	- efficiency improved if we hold on to the aac_queue variable, aims
	  towards better code compliance and consistency.

2003-09-15	Mark_Salyzyn@adaptec.com

rkt.c:
	- Copy if rx.c with rx = rkt

aacraid.h:
	- Added definition for rkt interface structures, copy of rx, but a
	  larger reserved region.

linit.c:
	- Added product code for ROC (Lancer/Rocket) U320 two channel, use rkt
	  interface.

2003-09-16	Mark_Salyzyn@adaptec.com

linit.c:
	- Show Adapter vendor and model in proc information.

Version: 1.1.4-2185

2003-09-16	Mark_Salyzyn@adaptec.com

aacraid.h:
	- Added definition of nblank() to assist us in determining if
	  dprintk(x) is defined as a blank definition to enable us to ifdef
	  debug code that ends up calling only dprintk functions.

commsup.c:
	- Ignore events that refer to containers > MAXIMUM_NUM_CONTAINERS
	- include <linux/blkdev.h> works in all versions of the operating
	  system.

linit.c:
	- print more details about outstanding commands when a SCSI hang
	  occurs (first use of nblank() macro just defined in aacraid.h)

2003-09-19	Mark_Salyzyn@adaptec.com & Mark Haverkamp <markh@osdi.org>

commsup.c & aachba.c:
	- valid flag has added support for a value of 2, which means target
	  is still valid, but needs a probe_container.

commsup.c:
	- fib_alloc should not go to sleep, but return NULL if there are no
	  available entries in the pool.

dpcsup.c:
	- print a message if the fib kmalloc fails when forwarding AIFs

comminit.c:
	- check fib_alloc return, and report -ENOMEM should the pool be
	  empty.

aachba.c:
	- Check value of scsicmd->scsi_done in aac_io_done as we can get
	  errant firmware which returns commands twice (no released firmware
	  does this, this is a driver hardening issue only).
	- When a fib_alloc fails, return -1 to SCSI layer. Formerly, we would
	  send the command with DID_ERROR.

Version: 1.1.4-2192

2003-09-25	Mark_Salyzyn@adaptec.com

linit.c:
	- Moved debug variables into block to reduce impact on none-debug
	  environments.

dpcsup.c + commsup.c:
	- Use the fib pool instead of a kmalloc to allocate a fib for the
	  processing of an AIF.

install.sh:
	- Install driver into any forgotten /lib/modules directories.

2003-09-26	Mark_Salyzyn@adaptec.com

commctrl.c + aacraid.h:
	- AMD-64 and IA-64 management applications will fail, need to change
	  fibctx to a 32 bit unique value.

Version: 1.1.4-2194

2003-09-29	Mark_Salyzyn@adaptec.com & Mark Haverkamp <markh@osdi.org>

aachba.c:
	- use linux/blkdev.h for all variants on Linux.
	- hold on to the host pointer in aac_io_done, because it's reference
	  in the device and scsicmd can go away after scsi_done is called.
	- check return value of pci_set_dma_mask.

commctrl.c:
	- use linux/blkdev.h for all variants on Linux.

comminit.c:
	- use linux/blkdev.h for all variants on Linux.

commsup.c:
	- use linux/blkdev.h for all variants on Linux.
	- drop linux/smp_lock.h include as it was added in a debug test from
	  some time ago.
	- Added current 2.6 kernel support routines for rescanning.

dpcsup.c:
	- use linux/blkdev.h for all variants on Linux.

linit.c:
	- use linux/blkdev.h for all variants on Linux.
	- check return value of pci_set_dma_mask.
	- template->present is no longer relevant in 2.6 based kernels.

rx.c:
	- use linux/blkdev.h for all variants on Linux.

sa.c:
	- use linux/blkdev.h for all variants on Linux.

rkt.c:
	- use linux/blkdev.h for all variants on Linux.

2003-10-01	Mark_Salyzyn@adaptec.com

commsup.c:
	- needed a fib_dealloc call ahead of the fib_free call added when
	  we moved over to the fib pool to handle the AIFs.

dpcsup.c:
	- need to use the `local' fibctx so that the AIF command can be
	  acknowledged.

commctrl.c:
	- return error status from the send_fib function in ioctl_send_fib.

2003-10-07	Mark_Salyzyn@adaptec.com

aachba.c + linit.c:
	- serial number contains the cookie (fafa0001) that is at index 1
	  of the serial number element. Only show the serial number which
	  is at index 0.

linit.c:
	- Added registration to receive 32 bit ioctls.

commsup.c + dpcsup.c + aacraid.h:
	- Dropped code to acquire AIF's from the general FIB pool, it was a
	  fool's errand. However, we kept the code that limits the AIF's
	  received and allocated to the AdapterFibsSize / sizeof(hw_fib).
	  The `last' AIF hw_fib is used to quickly acknowledge the entries,
	  and drop the results on the floor.

rx.c + rkt.c:
	- Cache the OIMR data in dev->OIMR, it looks remarkably like irq_mask,
	  which is really unused, but we can clean that up later.

2003-10-08	Matthew Wilcox <willy@debian.org>

aachba.c:
	- Use SCp.dma_handle instead of SCp.ptr for holding on to the physical
	  address of the allocated pci_map_single as part of the request.

compat.h:
	- define dma_handle to be ptr (in support of SCp.dma_handle change
	  above) for kernels that do not define this member.

2003-10-08	Christoph Hellwig <hch@infradead.org>

aachba.c:
	- drop use of scsi_to_pci_dma_dir() as it is a pass-through in all
	  versions of the kernel.

2003-10-09	Mark_Salyzyn@adaptec.com

linit.c:
	- When an Adapter Reset is requested, wait up to 60 seconds for all
	  outstanding commands to complete and report SUCCESS.

Version: 1.1.4-2221

2003-10-09	Mark_Salyzyn@adaptec.com

linit.c:
	- Waited for *all* commands to complete for *all* devices on the
	  controller when an Adapter Reset is requested.

Version: 1.1.4-2222

2003-10-10	Mark_Salyzyn@adaptec.com

aacraid.h + rx.c + rkt.c + sa.c + linit.c:
	- Added a aac_adapter_check_health, make sure the adapter is healthy
	  when performing and Adapter Reset request, report error codes.

aachba.c:
	- revert to use of scsi_to_pci_dma_dir() as it is not a pass-through in
	  all versions of the kernel.

linit.c:
	- SCSI_HAS_HOST_LOCK means that we should be working with releasing
	  host->lock or host->host_lock instead of io_request_lock surrounding
	  scsi_sleep.

aacraid.h:
	- Added definition for AAC_MAX_HOSTPHYSMEMPAGES

comminit.c:
	- Utilized AAC_MAX_HOSTPHYSMEMPAGES to limit the number of open DMA
	  4096 byte PAGES of memory requested by the operating system.

2003-10-16	Mark_Salyzyn@adaptec.com

install.sh:
	- Added support for x86_64 installs

aachba.c:
	- used SENSE KEYS from scsi.h rather than our own definitions.

2003-10-20	Xose Vazquez Perez <xose@wanadoo.es>

linit.c:
	- Added pci_ids for 0x10110046/0x90050365

Version: 1.1.4-2265

2003-10-23	Mark_Salyzyn@adaptec.com

linit.c:
	- no need to set template->present as this is done by the SCSI layer.

2003-10-24	Mark_Salyzyn@adaptec.com

install.sh
	- Added support for SuSE kernel determination for finer selection
	  of modules
	- If the kernel is compiled for athlon, use that instead of
	  /proc/cpuinfo
	- if /proc/cpuinfo is not present, don't show any errors during
	  install

2003-10-28	Mark_Salyzyn@adaptec.com

install.sh
	- The entire class of SuSE OS releases (sles7, sles8, suse7, suse8,
	  suse8.1, suse8.2, ul1, ul1-sp2a) place the driver module results into
	  /lib/modules/[kernel]/kernel/drivers/scsi/aacraid/aacraid.o. The
	  package places updates in ...//scsi/aacraid.o (note, one directory
	  up). The module selected for use in the mkinitrd is fed via a `find'
	  command which reports files in raw directory order which in the
	  reiser file system would be in the .../scsi directory, but for EXT2
	  since the file was added later, would prefer the previously placed
	  product in ../scsi/aacraid/aacraid.o. The fix is to have the driver
	  disk post-install remove the older .../scsi/aacraid directory.

2003-10-30	Mark_Salyzyn@adaptec.com

install.sh
	- For the installations to `extra' /lib/modules directories beyond
	  the boot set, take the processor clue from the postscript (-athlon,
	  -x86_64 or -ia64) rather than from /proc/cpuinfo.

Version: 1.1.4-2282
Version: 1.1.4-2292 (Debug)

2003-10-31	Mark_Salyzyn@adaptec.com

aacraid.h + aachba.c:
	- Added a nested count to the fsa_scsi_dev structure since some kernels
	  before 2.4.19 have troubles overflowing their stack when a device
	  goes offline. The issue is that the SCSI done call nests into sending
	  another queued command, which in turn spoofs a response back
	  indicating failure which in turn calls SCSI done. We limit the
	  nesting to 64 commands before we respond with a busy instead.

Version: 1.1.4-2296 (Debug)

linit.c & .version:
	- Versioning is defined by the structure:
	    struct {
		unsigned char dash; // Dash version number
		unsigned char type; // Type, 1=Devo, 2=Alpha, 3=Beta, 4=Release
		unsigned char minor;// Minor version minor
		unsigned char major;// Major version number
	    }
	  Adjusted version data to match this definition for generation and
	  support.

Version: 1.1.4-2299
Version: 1.1.4-2301
Version: 1.1.4-2302
Version: 1.1.4-2303

linit.c & aacraid.h:
	- Allow 64 bit apps to call GET_NEXT_ADAPTER_FIB ioctl directly,
	  promoting 32 bit apps when they call.

aachba.c & aacraid.h:
	- Set MAX_NESTED to 1, and improve code to reflect this simplicity.

install.sh:
	- Handle name change of products from *-athlon-athlon to *-athlon.
	- Warn the user if the initrd shrinks too much

Version: 1.1.4-2308

install.sh:
	- Add support for identifying 2.4.19-340 kernels.

2003-12-12	Mark Haverkamp <markh@osdl.org>

linit.c:
	- updated aac_eh_reset to use __shost_for_each_device now that the
	  device element is now private and we're supposed to use the helper
	  function for access.

Version: 1.1.4-2309
Version: 1.1.4-2310 (debug)

2003-12-18	Mark Salyzyn <Mark_Salyzyn@adaptec.com>

linit.c:
	- suppress unused variable warning in debug code.
	- cast sys_ioctl when registering as it does not match prototype
	  argument for ioctl32 registration.

Version: 1.1.4-2311

2003-12-22	Mark Haverkamp <markh@osdl.org>

aachba.c:
	- change from pae to dac as this is the more public understanding of
	  the 64 bit support concepts.
aacraid.h:
	- Remove padding and SavedIrql
commsup.c + aachba.c:
	- use atomic_read when accessing access_count member of device
	  structure.
linit.c & aacraid.h
	- iminor takes the inode, not the inode->i_rdev member.

Version: 1.1.4-2313

aachba.c + commsup.c:
	- use device_busy, shost_status, in_recovery instead of just
	  access_count. Adjust for each OS release variant.

Version: 1.1.4-2314

2003-12-22: Ken Beaty <ken@nova.org>

aachba.c + commsup.c:
	- Adjusted ifdefs for kernel version to make more sense.

2004-01-24: Mark Salyzyn <Mark_Salyzyn@adaptec.com>

install.sh:
	- Altered script to discover prebuilt binaries from the classic
	  Adaptec rpm package, the Red Hat install disk format, or the
	  SuSE install disk format.

2004-02-09: Christoph Hellwig <hch@lst.de>

aachba.c:
	- Remove fsa_dev structure since fsa_dev is always available.

Version: 1.1.4-2324

2004-02-10: Submit to scsi list for inclusion

2004-02-17: Herve MORILLON <hmorillon@doremilabs.fr> + Mark_Salyzyn@adaptec.com

rx.c + rkt.c:
	- hit doorbell before processing host_command_normal

aachba.c:
	- Permit requests larger than 64KB

aacraid.h:
	- Permit 512 outstanding requests

Version: 1.1.5-2326

linit.c + build:
	- Added support for vary_io, unfortunately the build system also needed
	  to be adjusted to generate the SCSI_HAS_VARY_IO if the member is
	  seen in the drivers/scsi/hosts.h file.

build + install.sh:
	- Added support for 2.4.19-189, 2.4.19-191 and 2.4.19-201 SuSE Kernels

Version: 1.1.5-2327

rkt.c + rx.c:
	- Added support to issue the Temperature sync command. Since the
	  cost of the sync command should not increase, the decision was
	  made to support a `varargs' approach to dealing with the additional
	  temperature elements *only* for this command.

linit.c:
	- Added a proc write that accepts the string "Temperature=[0-9.],..."
	  to send the off-board temperature value to the Firmware so that it
	  may be integrated into the Enclosure Data.
	- Added SkyHawk SATA cards to device list. 2020S changes now to 
	  2020ZCR, and we add 2020SA.

aachba.c:
	- PERCRAID RAID-5 is superfluous, changed to to PERC RAID-5.

Version: 1.1.5-2328

linit.c + aacraid.h:
	- Migrate towards using CONFIG_COMPAT instead of __x86_64__

rx.c + rkt.c:
	- Added support to pick up an Adapter Blink code. ADPmp64499.

linit.c:
	- Report the Adapter Blink code to the console log. ADPmp64499.

build:
	- Correctly built the x86_64 SLES8 and ul1 driver disk. Side effects
	  discovered also fix problems with ia32 SLES8 install. ADPmp64499.

Version: 1.1.5-2329

linit.c + aacraid.h:
	- Report an AifExeFirmwarePanic AIF message to applications when the
	  adapter is in a blinkled state.

aachba.c + commsup.c: Brad House <brad@mainstreetsoftworks.com>
	- use shost_for_each_device instead of list_for_each_entry.

linit.c + aachba.c:
	- xscale (arm) systems can not have highmem_io set as virtual/phys
	  handling does not recognize the page/offset addressing.

rkt.c + rx.c:
	- The Mailbox[7] in none BBS systems is not active until shortly
	  before the Firmware kernel is booted. The Outbound Message register
	  is always active and contains the same bringup conditions. We must
	  look at the OMR during the *_init wait.

Version: 1.1.5-2330

rkt.c + rx.c + sa.c:
	- Set the time by using get_seconds (epoch January 1 1970) instead
	  of jiffies/HZ (epoch machine startup). get_seconds is provided
	  for kernels < 2.6.

Version: 1.1.5-2331

rkt.c:
	- Mailbox[7] becomes momentarily inaccessible right after PATUWAIT
	  on the Callisto, lets loop on OMR only. Do not know if this
	  problem exists on other systems.

Version: 1.1.5-2332

aachba.c + linit.c:
	- Issue CT_COMMIT_CONFIG before issuign the VM_NameServe. This is
	  for systems that do not have a BIOS to perform this step.

Version: 1.1.5-2333

aacraid.h:
	- SAS requires the ability to handle as many as 32 Adapters in a
	  system, increased the manifest that limits the number of Adapters.
	- Testing has shown that allowing 33MB I/O can starve a machine, so
	  we are limiting the maximum I/O size to 4MB (to match other drivers
	  that permit large I/O).

linit.c:
	- Make sure that the driver does not register more than
	  AAC_MAXIMUM_ADAPTERS instances.
	- Set the queue depth to each device as divided up from AAC_MAX_IO_FIB

commctrl.c: Chris Wright <chrisw@osdl.org>
	- aac_send_raw_srb added check for bounding of fibsize value.

all: Mark Haverkamp <markh@osdl.org> & Mark Salyzyn <Mark_Salyzyn@adaptec.com>
	- merge 2.6 driver changes into tree to synchronize.

Version: 1.1.5-2334

aacraid.h+linit.c+commctrl.c+comminit.c:
	- Added sg_tablesize and max_fib_size to adapter structure and
	  negotiate these plus Scsi_Host sg_tablesize, can_queue and
	  max_sectors based on the adapter capabilities.

aachba.c:
	- Added aac_raw_io command
	- Recognize that read_callback is identical to write_callback, which
	  is in turn identical to raw_io's need for a callback. Renamed to
	  one callback function io_callback.

rx.c+rkt.c+sa.c:
	- Moved initialization around to permit New Command Interface probes
	- dropped irq_mask and associated functions.
	- moved acknowledgement of F/W commands *before* processing so that
	  we get re-interrupted if a new command is added to the produced
	  index while we are processing.

linit.c+aachba.c:
	- Do not print `bad0' for the serial number

linit.c:
	- this_id = 32, because it gets in the way of Container 16 being
	  processed.

aachba.c:
	- scsi_add_timer call issued just before completion routine called
	  since error recovery handler is there *just* to detect card
	  failure and not to affect command processing.

build:
	- Added 2.4.19.SuSE-343 kernel in support of ul1-sles8-ia32 install,
	  which adds yet another installation floppy to the list.

Version: 1.1.5-2335

linit.c+all:
	- Revert temporarily to 1.1.4-2177, Changed ASR-2020S to ASR-2020ZCR,
	  and ASR-2020S Terminator to ASR-2025ZCR.

Version: 1.1.4-2336

linit.c+all:
	- Revert temporarily to 1.1.4-2322, Changed ASR-2020S to ASR-2020ZCR,
	  and ASR-2020S Terminator to ASR-2025ZCR.

Version: 1.1.4-2337

all:
	- Revert back to 1.1.5 code base.

commsup.c:
	- Fix Irq Moderation code. A Misnomer, since this is really a PCI
	  utilization moderation, interrupts are not recurring on F/W.

comminit.c:
	- Turn on Irq Moderation feature (Tentatively 30% reduction in Host
	  CPU utilization)

Version: 1.1.5-2337

aacraid.h+commsup.c+dpcsup.c+comminit.c+rx.c:
	- Added support for the new comm interface.

linit.c:
	- Added debug information to proc output

Version: 1.1.5-2338

commsup.c: Mark Haverkamp <markh@osdl.org>
	- Added scsi/scsi_device.h, scsi/scsi_driver.h to include file set
	- set removable to a value of 1, not to TRUE.

aachba.c: Mark_Salyzyn@adaptec.com
	- Switch to using max_fib_size rather than FIB_DATA_SIZE_IN_BYTES,
	  this permits SAS management applications to send ioctl FIBs larger
	  than 512 bytes in size to adapters that accept larger FIBs.
	- Added support for SAI_READ_CAPACITY_16, READ_12, WRITE_12, READ_16
	  and WRITE_16 commands.
	- Played `tricks' with device_blocked and queue_depth fields in the
	  scsi_device structure to meter the outstanding commands down when
	  large sequential activity is detected.

aacraid.h: Mark_Salyzyn@adaptec.com
	- Remove unused definition of FIB_DATA_SIZE_IN_BYTES.

Version: 1.1.5-2339

build: Mark_Salyzyn@adaptec.com
	- Added support for 2.6.4-52 SuSE 9.1 Pro install
	- Added support for multiple architectures for 2.4.21-15.EL RHEL3 QU2
	  install.

aacraid.h+aachba.c+linit.c: Mark Haverkamp <markh@osdl.org>
	- Define 2131 as FSACTL_GET_CONTAINERS

commctrl.c: Adam Manthei <amanthei@redhat.com>, Mark_Salyzyn@adaptec.com
	- change all printk() to dprintk(()) as this is a user initiated
	  call for aac_send_rw_srb & aac_get_pci_info.

rx.c+rkt.c: Adam Manthei <amanthei@redhat.com>, Mark_Salyzyn@adaptec.com
	- use pci_alloc_consistent/pci_free_consistent instead of an
	  unchecked combination of kmalloc(,_GFP_DMA)/pci_map_single/
	  pci_unmap_single/kfree.

Version: 1.1.5-2340

linit.c+commctrl.c: Mark Haverkamp <markh@osdl.org>
	- adjust to reflect linux-scsi submission results

aachba.c: Mark_Salyzyn@adaptec.com
	- remove print for unhandled commands into a debug print. The
	  unhandled commands are reported to the caller as unhandled, let
	  the caller deal with this.

rx.c+rkt.c+sa.c: maximilian attems <janitor@sternwelten.at>
	- upon failure of the init routine, make sure that the registered
	  interupt handler is deregistered.

commsup.c:
	- fib_adapter_complete is supposed to free the hw_fib and that is it,
	  it tried to talk to hardware and caused a lockup.

Version: 1.1.5-2341

build:
	- use aacraid.ko for 2.6 releases

Version: 1.1.5-2342

aachba.c: Mark_Salyzyn@adaptec.com
	- added support for a module parameter 'commit=1' to enable COMMIT
	  CONFIG to be issued to the adapter.
	- added support for a module parameter 'coalescethreshold=16' which
	  sets the maximum block size to consider for pushing back to the
	  scsi_merge layer.
	- added support for a module parameter 'acbsize=8192' which sets the
	  suggested fib size to override the suggestion from Firmare.
	- dropped call to scsi_add_timer, as it causes a panic. It was placed
	  in the source to resolve a command completion race condition.

Version: 1.1.5-2343

install.sh: Mark_Salyzyn@adaptec.com
	- globbing issue caused more whiny complaints about a missing
	  installation into the initrd.
	- fixed some issued surrounding using the script for SuSE module
	  update.

linit.c: Mark_Salyzyn@adaptec.com
	- if the driver does not discover any targets, report failure.
	- drop kernel_version hack to support build

build: Mark_Salyzyn@adaptec.com
	- Use vermagic instead of kernel_version to pick up matching kernel.
	- when innoculating 2.6 tree builds, one needs a *full* compile in
	  order to generate the struct_module member.
	- use module.ko for 2.6 kernels.

Version: 1.1.5-2344

build: Mark_Salyzyn@adaptec.com
	- floppy linux/suse/${ARCH}-${VERS}/modules/${PRODUCT}.o needs to be
	  a ${PRODUCT}.ko in the 2.6 based installations.
	- Placed module in both scsi and scsi/${PRODUCT} directories as it
	  appears that the post-install is not functioning properly.

aachba.c: Mark_Salyzyn@adaptec.com
	- Checked if the lba exceeds 32 bit block address for systems that
	  can not support it. raw_io_64 enables 64 bit block addresses.
	- Redid math for u64 >> 32 as it appears the xscale 64 bit library
	  is flawed.

Version: 1.1.5-2345

aachba.c: Mark_Salyzyn@adaptec.com
	- Overrides to force 8KB fibs needs to be reverted to defaults.

Version: 1.1.5-2346

build: Mark_Salyzyn@adaptec.com
	- Added 2.4.21-15.0.2.EL kernel
	- Added 2.6.5-7.97 kernel to the build

rx.c+rkt.c: Mark_Salyzyn@adaptec.com
	- Mailbox7 continues to be a consternation regarding reliable
	  adapter recovery scenarios; switched to using OMRx[0].

Version: 1.1.5-2347

aachba.c: Mark_Salyzyn@adaptec.com
	- (u64)=((u8)<<24) does not give expected results, sign extension
	  occurs. Replace with (u64)=((u64)(u8)<<24)

Version: 1.1.5-2348

install.sh: Mark_Salyzyn@adaptec.com
	- initrd is blocked from incorporating our product if there is
	  something in /lib/modules/${OS}-${CONFIG}/update/${PRODUCT}.o,
	  so remove the file.

Version: 1.1.5-2349

aachba.c+aacraid.h:
	- define commit_config FIB command
	- define get_container_count FIB command.

aachba.c+aacraid.h+commsup.c+linit.c
	- fsa_dev becomes a dynamic structure to accommodate a variable
	  maximum_num_containers.

build:
	- Added 2.4.21-231 kernel to build system.

linit.c:
	- Turned on debug printing of scsi timeouts for xscale only.

Version: 1.1.5-2350

rkt.c:
	- Limit can_queue to 246 for rocket

build:
	- Added 2.4.19-306 kernel to build system.

aachba.c:
	- Removed an innocuous (obnoxious?) DEBUG printk

2004-07-15: Mark Salyzyn <Mark_Salyzyn@adaptec.com>

Version: 1.1.5-2351

build:
	- Added 2.4.9-31 to the build system

modules.conf:
	- Added 2.4.9-e.41, 2.4.9-e.43, 2.4.21-17.EL & 2.4.21-15.0.3.EL kernels

build:
	- Dropped 2.4.21-231 from build

2004-07-16: Mark Salyzyn <Mark_Salyzyn@adaptec.com>

Version: 1.1.5-2352

build:
	- Added 2.6.3-7mdk to the build system

2004-07-20: Mark Salyzyn <Mark_Salyzyn@adaptec.com>

Version: 1.1.5-2353 (Lantana Build w/o SLES9, SuSE9.1 & SuSE9 errata 231)
Version: 1.1.5-2354 (Lantana Build w/o SLES9 & SuSE9 errata 231)
Version: 1.1.5-2355 (BigQual refresh)

install.sh:
	- If missing, add a reference to the module to the kernel's module.dep
	  file (affects drivers that are *not* shipped with the OS; HostRAID
	  and some dpt_i2o)

aachba.c:
	- for __arm__ build, the default FIB size is selected by F/W and not
	  overridden to 8192 bytes.

Version: 1.1.5-2356 (Jupiter)

aacraid.h+comminit.c+rkt.c+commsup.c+linit.c: Ken Sandars <Ken_Sandars@adaptec.com> + Mark Salyzyn
	- Added AAC_NUM_MGT_FIB, and ensured can_queue represents the
	  maximum number of io commands allowed and not be confused as the
	  maximum number of FIB commands permitted into the Adapter. Thus
	  host->can_queue is the maximum number of I/O commands, AAC_NUM_MGT_FIB
	  is the maximum number of ioctl commands (set to 8 rather than legacy
	  of 64) and init->MaxIoCommands sent back to the adapter is the total
	  number of FIBs.

Version: 1.1.5-2357 (Jupiter+BigQual)

commctrl.c: Mark Salyzyn
	- Added support for issuing FIBs that are larger than the negotiated
	  size for the management interface.

linit.c: Mark Salyzyn
	- Added ASR-2240S, ASR-4005SAS, ASR-4000SAS, ASR-4800SAS, ASR-4805SAS
	  and AAR-2610SA to the product list.

install.sh: Mark Salyzyn
	- Fixed problems with using the RH & SuSE modules disk as an update
	  media, most of which was the selection of the extraction name from
	  the modules.cgz file or acquiring the appropriate update.tar.gz file.

build: Mark Salyzyn
	- set 700 for update.sh in the modules disks to recognize at least
	  that the RH modules disk works as an update media.

aachba.c: Mark Salyzyn
	- Dropped to 8K for the coalesce threshold for xscale builds.

Version: 1.1.5-2358 (BigQual+Lantana)

aachba.c+commctrl.c+aacraid.h+comminit.c+commsup.c+dpcsup.c+linit.c:
	- Merged 2.6.8-rc2-bk9 differences into the driver (COSMETIC)

compat.h
	- Added definition for __user for kernels less than 2.5 (COSMETIC)

linit.c:
	- The aac_get_next_adapter_fib_ioctl for 64 bit implementations under
	  2.6 maladdressed the transfer.

Version: 1.1.5-2359 (BigQual+SPOCK+Lantana)

commctrl.c:
	- Added support for CODE_STREAM_IDENTIFIER, accessed via a new
	  ioctl FSACTL_GET_VERSION_MATCHING
	- Added support for FSACTL_SEND_LARGE_FIB

aacraid.h:
	- Added definition for struct VersionMatch
	- Added definition for FSACTL_GET_VERSION_MATCHING
	- Added definition for FSACTL_SEND_LARGE_FIB

install.sh:
	- if the modules.dep file does not exist, then ensure no complaints
	  are made about mv not being able to access the file.
	- If an entry is missing in modules.dep, construct it correctly.

aachba.c:
	- Remove any leading spaces from the Container Name. Ensure that
	  if there is no container name remaining, to leave the existing
	  one alone.

build:
	- Added support for 2.4.18-e.43
	- Added support for 2.4.18-e.47
	- Added support for 2.4.9-e.48
	- Added support for 2.4.9-e.49
	- Added support for 2.4.21-15.0.4.EL

rx.c+rkt.c:
	- When responding to AIFs, use DoorBellAdapterNormRespReady instead of
	  DoorBellAdapterNormCmdReady. The code appeared to work without
	  undue side effects because Firmware would clear off the queues
	  when new AIFs are delivered.

commsup.c:
	- If busy, defer scan action to next AIF. Half hearted attempt to
	  improve the reliability of this unsupported feature.

aacraid.h+linit.c+comminit.c+rx.c+rkt.c+sa.c:
	- Remove references to Mailbox7 accesses for synchronous commands.

aacraid.h+aachba.c:
	- Turned on support for Compatibility ID testing. Only enabled if
	  the build environment defines CODE_STREAM_IDENTIFIER.
	- Fortify the adapter information to include supplemental information
	  as well as the GetBusInfo in support of SAS programatic limits.

linit.c+aachba.c:
	- Use the newly acquired supplement information vendor and product
	  fields to override the cardtype selection.

Version: 1.1.5-2360
Version: 1.1.5-2361 (Branch off 1.1.5-2340 in RHEL3 QU3 with aac_info fix in 1.1.5-2364)

linit.c:
	- register a reboot notifier to flush adapter
	- faked AIF needs to call fib_init() later (ADPmp70525)

commctrl.c:
	- Since kfree has the possibility of switching in some esoteric
	  variants of the kernel, and since the BKL is held during ioctl
	  calls, we are unlocking the fib lock around these system calls.

Version: 1.1.5-2362

build:
	- Added support for 2.4.21-17.EL (RHEL3 QU3 beta)
	- Added support for 2.4.21-20.EL (RHEL3 QU3)
	- Added support for 2.6.7-1.451.2.3 (RHEL4 beta)

linit.c:
	- ASR4000 series entries were flawed in the indexes. Added an
	  additional AvonPark entry.

Version: 1.1.5-2363

linit.c:
	- aac_info is flawed and causes periodic panics in certain systems.

build:
	- Allow background builds
	- em32t binaries did not show in the rpm

Version: 1.1.5-2364 [BigQual, Pratt, Jupiter Dual & Lantana]

linit.c:
	- AAR-2610SA has had a subproduct change from 0x103C/0x0295 to
	  0x103C/0x3227.
	- Some adapters have internal limits of 34 SG elements as a result
	  of a bug of not splitting requests up when cache is disabled when
	  sending them to the CHIM. Created a quirk for the adapters that
	  have this limit.

Version: 1.1.5-2365

aachba.c:
	- Neglected to add maximum_num_physical check to the srb handler.
	- leading space on inquiry code was flawed as a result ot a typographic
	  error (replace ! with *)

linit.c:
	- ASR-4005SAS for IBM is designated as an 8i (ADPmp71521)
	- Added check for late completion of command during timeout
	- called aac_get_fw_debug_buffer() after init

fwdebug.c+fwdebug.h
	- Added firmware debug print handlers

build:
	- RH floppy disk was limited to 864KB, let it open up to 1.4MB. The
	  risk is that 864KB was about all the ramdisk could handle when
	  extracting, so we will no longer get a report of disk overrun as
	  a warning to existing OS releases. We do not know what will overload
	  the ramdisk during install. (ADPmp72476)
	- Product ID list for aacraid is broken in the build due to changes
	  resulting from incorporating the 2.6 tree.
	- em32t binaries did not show in the rpm fix broke SuSE releases that
	  utilize the 2.4.19 kernel (ADPmp73104)

commsup.c:
	- Added support for sending the time every 30 minutes.

Version: 1.1.5-2366

commctrl.c:
	- Fixed 64 bit version of the SCB ioctl call as it was not translating
	  the 32 bit scatter-gather correctly for scatter gather elements
	  beyond the first one. Do not believe this issue presented a problem
	  for any Adaptec management products due to their needs as they
	  limited their SG to only one entry.

build:
	- Added 2.4.19-238
	- Added 2.4.19-241
	- Added 2.4.19-248
	- Added 2.4.19-251

Version: 1.1.5-2367

linit.c:
	- Added Themisto discovery to driver
	- Added AAC_QUIRK_MASTER and AAC_QUIRK_SLAVE to deal with controller
	  pairs.
	- Changed Prowler "ESD SO-DIMM PCI-X SATA ZCR" to "ASR-2026ZCR".
	- Return FAILED when hba_reset completed, the ten second bus settling
	  delay is counter productive.

aacraid.h+linit.c: Christoph Hellwig <hch@lst.de>
	- drop casting surrounding iomap and ioremap and use the __iomem
	  type enhancement.

csmi.c+csmi.h:
	- Added CSMI ioctl support.

install.sh:
	- log both successful and failed installations and limit complaints
	  about installation to a minimum by not repeating similar failure
	  messages.

aachba.c:
	- vtune reports that 2% of the time dealing with read calls was
	  devoted to get_sd_devname(). Optimized codepath.

Version: 1.1.5-2368

build:
	- Added 2.4.27 debian smp kernel to build
	- Added 2.6.7-1.451.2.3 RHEL4 to the build
	- Added 2.6.8-1.602 RHEL4 to the build
	- Added 2.6.5-7.109.5 SuSE 9.1 errata to the build

csmi.h:
	- Changed from CSMI_8_BYTE_ALLIGNED to CSMI_8_BYTE_ALIGNED

csmi.c:
	- failure on return from copy_to_user is ignored, but (void) is
	  not the way to ignore it based on compiler warnings.
	- scb size is set to 16 always.
	- scb flags is set to 0 always.

linit.c+compat.h:
	- scsi_sleep() renamed to ssleep() in 2.6.9 kernel

commctrl.c:
	- 32 bit application issuing a raw srb in a 64 bit address space
	  is not handled correctly for the fibsize calculation.
	- Limit the number of scatter gather entries to 32, and zero
	  out the references to those sg entries.

Version: 1.1.5-2369

compat.h:
	- 2.6.8-1.602 RHEL4 kernel looks more like 2.6.9, so needed to
	  define scsi_sleep for kernels 2.6.8 and up rather than 2.6.9 and up.

linit.c: Chris Trown <ctrown@uoregon.edu>
	- Added an include for linux/delay.h to pick up the definition of
	  ssleep().
	- Added `other' Themisto ID to list.

csmi.h:
	- bumped to 0.83 version

csmi.c:
	- Acquired slot number from Supplementary Adapter Info SlotNumber
	  field
	- Added support to determine the actual bus type (SAS, SATA, Other).

build:
	- Added support for 2.4.21-22.EL (RHEL3 QU4)
	- Added support for 2.6.5-7.111 (SLES9 NLD)
	- Added support for 2.4.21-243 (SuSE 9.x errata)

aachba.c:
	- valid must clear if VM_Nameserve fails on scan
	- setinqstr has the possibility of overflowing the inquiry structure,
	  the results are a damaged stack.

commsup.c:
	- do a probe_container before issuing scan as the adapter can take
	  some time to write DDF data (not SCSI).

aacraid.h:
	- added definition of probe_container.

Version: 1.1.5-2370

aacraid.h+commsup.c+aachba.c+commctrl.c+comminit.c+linit.c+sa.c: Adrian Bunk <bunk@stusta.de>
	- Make some needlessly global code static

linit.c:
	- Added Intruder (AAR-2420SA, AAR-2620SA & AAR-2820SA)

aachba.c+commsup.c:
	- Enable a 50 second timeout on the first asynchronous command to
	  permit the driver to error out and report the hardware failure.

linit.c:
	- Fixed a comment completion problem for Intruder additions.

build:
	- Added support for 2.6.8-24 (SuSE 9.2)

Version: 1.1.5-2371

aachba.c: Jens Axboe
	- Use a busy status return with scsi_done rather than -1 to
	  signal OS to try again later for aac_read and aac_write to
	  meet with acceptable coding standards.

aachba.c+linit.c: Mark Salyzyn & Christoph Hellwig <hch@infradead.org>
	- Moved AAC_EXTENDED_TIMEOUT to set sdev->timeout instead of
	  inline for every command in the 2.6 variant.

linit.c:
	- There is a subsystem device id clash between SATAHAWK and INTRUDER
	  and is giving the BIOS group some grief. Therefore the subsystem
	  device ID for intruder is changed to 029B, 029C and 029D for 8, 6,
	  and 4 port versions respectively.

build:
	- enhanced README.txt to also provide a brief description of the
	  binary file.
	- Added support for a RHEL3 i686 ISO image as well.
	- Added support for 2.6.5-7.109.12 (SuSE9.1 SP1 B2 i386)
	- Added support for 2.6.5-7.109.13 (SuSE9.1 SP1 B2 x86_64)
	- Added support for 2.6.5-7.115 (SuSE9.1 SP1 B3)
	- Added support for 2.6.5-1.358 (RH FC2)
	- Added support for 2.6.9-1.667 (RH FC3)

csmi.c:
	- return code for CSMIGetSATASignature is under the control of the
	  firmware and should not be blindly set to SUCCESS if the command
	  succeeded.

Version: 1.1.5-2372
