linux-scsi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [patch 16/28] Sync up drivers/scsi/aic7xxx
@ 2004-09-28 13:06 Luben Tuikov
  0 siblings, 0 replies; only message in thread
From: Luben Tuikov @ 2004-09-28 13:06 UTC (permalink / raw)
  To: SCSI Mailing List

Sync up drivers/scsi/aic7xxx/. (2603-2643)

Signed-off-by: Luben Tuikov <luben_tuikov@adaptec.com>

==== //depot/aic7xxx/aic7xxx/aic79xx.reg#70 - /home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic79xx.reg ====
--- /tmp/tmp.26963.0	2004-09-27 13:31:39.261144880 -0400
+++ /home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic79xx.reg	2004-01-23 14:37:51.000000000 -0500
@@ -39,7 +39,7 @@
   *
   * $FreeBSD$
   */
-VERSION = "$Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#70 $"
+VERSION = "$Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#72 $"

  /*
   * This file is processed by the aic7xxx_asm utility for use in assembling
@@ -65,13 +65,6 @@
  		mvi	MODE_PTR, MK_MODE(src, dst);			\
  	}

-#define TOGGLE_DFF_MODE							\
-	if ((ahd->bugs & AHD_SET_MODE_BUG) != 0) {			\
-		call	toggle_dff_mode_work_around;			\
-	} else {							\
-		xor	MODE_PTR, MK_MODE(M_DFF1, M_DFF1);		\
-	}
-	
  #define RESTORE_MODE(mode)						\
  	if ((ahd->bugs & AHD_SET_MODE_BUG) != 0) {			\
  		mov	mode call set_mode_work_around;			\
@@ -3542,6 +3535,15 @@
  	COMPLETE_DMA_SCB_HEAD {
  		size		2
  	}
+	/*
+	 * head of list of SCBs that have
+	 * been uploaded to the host, but cannot
+	 * be completed until the QFREEZE is in
+	 * full effect (i.e. no selections pending).
+	 */
+	COMPLETE_ON_QFREEZE_HEAD {
+		size		2
+	}
  	/* Counting semaphore to prevent new select-outs */
  	QFREEZE_COUNT {
  		size		2
@@ -3625,6 +3627,17 @@
  		size		1
  	}
  	/*
+	 * Kernel and sequencer offsets into the queue of
+	 * incoming target mode command descriptors.  The
+	 * queue is full when the KERNEL_TQINPOS == TQINPOS.
+	 */
+	KERNEL_TQINPOS {
+		size		1
+	}
+	TQINPOS {
+		size		1
+	}
+	/*
  	 * Base address of our shared data with the kernel driver in host
  	 * memory.  This includes the qoutfifo and target mode
  	 * incoming command queue.
@@ -3639,17 +3652,6 @@
  	QOUTFIFO_NEXT_ADDR {
  		size		4
  	}
-	/*
-	 * Kernel and sequencer offsets into the queue of
-	 * incoming target mode command descriptors.  The
-	 * queue is full when the KERNEL_TQINPOS == TQINPOS.
-	 */
-	KERNEL_TQINPOS {
-		size		1
-	}
-	TQINPOS {
-		size		1
-	}
  	ARG_1 {
  		size		1
  		mask	SEND_MSG		0x80
==== //depot/aic7xxx/aic7xxx/aic79xx.seq#107 - /home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic79xx.seq ====
--- /tmp/tmp.26963.1	2004-09-27 13:31:39.613091376 -0400
+++ /home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic79xx.seq	2004-01-23 14:32:29.000000000 -0500
@@ -40,7 +40,7 @@
   * $FreeBSD$
   */

-VERSION = "$Id: //depot/aic7xxx/aic7xxx/aic79xx.seq#107 $"
+VERSION = "$Id: //depot/aic7xxx/aic7xxx/aic79xx.seq#110 $"
  PATCH_ARG_LIST = "struct ahd_softc *ahd"
  PREFIX = "ahd_"

@@ -68,13 +68,36 @@
  	}
  	SET_MODE(M_SCSI, M_SCSI)
  	test	SCSISEQ0, ENSELO|ENARBO jnz idle_loop_checkbus;
-	test	SEQ_FLAGS2, SELECTOUT_QFROZEN jnz idle_loop_checkbus;
+	test	SEQ_FLAGS2, SELECTOUT_QFROZEN jz check_waiting_list;
+	test	SSTAT0, SELDO|SELINGO jnz idle_loop_checkbus;
+BEGIN_CRITICAL;
+	/*
+	 * If we have completions stalled waiting for the qfreeze
+	 * to take effect, move them over to the complete_scb list
+	 * now that no selections are pending.
+	 */
+	cmp	COMPLETE_ON_QFREEZE_HEAD[1],SCB_LIST_NULL je idle_loop_checkbus;
+	/*
+	 * Find the end of the qfreeze list.  The first element has
+	 * to be treated specially.
+	 */
+	bmov	SCBPTR, COMPLETE_ON_QFREEZE_HEAD, 2;
+	cmp 	SCB_NEXT_COMPLETE[1], SCB_LIST_NULL je join_lists;
+	/*
+	 * Now the normal loop.
+	 */
+	bmov	SCBPTR, SCB_NEXT_COMPLETE, 2;
+	cmp 	SCB_NEXT_COMPLETE[1], SCB_LIST_NULL jne . - 1;
+join_lists:
+	bmov	SCB_NEXT_COMPLETE, COMPLETE_SCB_HEAD, 2;
+	bmov	COMPLETE_SCB_HEAD, COMPLETE_ON_QFREEZE_HEAD, 2;
+	jmp	idle_loop_checkbus;
+check_waiting_list:
  	cmp	WAITING_TID_HEAD[1], SCB_LIST_NULL je idle_loop_checkbus;
  	/*
  	 * ENSELO is cleared by a SELDO, so we must test for SELDO
  	 * one last time.
  	 */
-BEGIN_CRITICAL;
  	test	SSTAT0, SELDO jnz select_out;
  END_CRITICAL;
  	call	start_selection;
@@ -184,6 +207,7 @@
  	/* FALLTHROUGH */
  scbdma_tohost_done:
  	test	CCSCBCTL, CCARREN jz fill_qoutfifo_dmadone;
+	and	CCSCBCTL, ~(CCARREN|CCSCBEN);
  	/*
  	 * An SCB has been succesfully uploaded to the host.
  	 * If the SCB was uploaded for some reason other than
@@ -193,13 +217,9 @@
  	 * then queue the completion.
  	 */
  	test	SCB_SCSI_STATUS, 0xff jz scbdma_queue_completion;
-	SET_MODE(M_SCSI, M_SCSI)
-	test	SCSISEQ0, ENSELO jnz return;
-	test	SSTAT0, (SELDO|SELINGO) jnz return;
-	SET_MODE(M_CCHAN, M_CCHAN)
+	bmov	SCB_NEXT_COMPLETE, COMPLETE_ON_QFREEZE_HEAD, 2;
+	bmov	COMPLETE_ON_QFREEZE_HEAD, SCB_NEXT_COMPLETE, 2 ret;
  scbdma_queue_completion:
-	and	CCSCBCTL, ~(CCARREN|CCSCBEN);
-	bmov	COMPLETE_DMA_SCB_HEAD, SCB_NEXT_COMPLETE, 2;
  	bmov	SCB_NEXT_COMPLETE, COMPLETE_SCB_HEAD, 2;
  	bmov	COMPLETE_SCB_HEAD, SCBPTR, 2 ret;
  fill_qoutfifo_dmadone:
@@ -355,9 +375,9 @@
  	mvi	CCARREN|CCSCBEN|CCSCBDIR|CCSCBRESET jmp dma_scb;
  dma_complete_scb:
  	bmov	SCBPTR, COMPLETE_DMA_SCB_HEAD, 2;
+	bmov	COMPLETE_DMA_SCB_HEAD, SCB_NEXT_COMPLETE, 2;
  	bmov	SCBHADDR, SCB_BUSADDR, 4;
  	mvi	CCARREN|CCSCBEN|CCSCBRESET jmp dma_scb;
-END_CRITICAL;

  /*
   * Either post or fetch an SCB from host memory.  The caller
@@ -373,6 +393,7 @@
  dma_scb:
  	mvi	SCBHCNT, SCB_TRANSFER_SIZE;
  	mov	CCSCBCTL, SINDEX ret;
+END_CRITICAL;

  BEGIN_CRITICAL;
  setjmp:
@@ -395,11 +416,6 @@
  	mvi	SEQINTCTL, INTVEC1DSL;
  	mov	MODE_PTR, SINDEX;
  	clr	SEQINTCTL ret;
-
-toggle_dff_mode_work_around:
-	mvi	SEQINTCTL, INTVEC1DSL;
-	xor	MODE_PTR, MK_MODE(M_DFF1, M_DFF1);
-	clr	SEQINTCTL ret;
  }


@@ -1033,15 +1049,9 @@
  /*
   * We received a "command complete" message.  Put the SCB on the complete
   * queue and trigger a completion interrupt via the idle loop.  Before doing
- * so, check to see if there
- * is a residual or the status byte is something other than STATUS_GOOD (0).
- * In either of these conditions, we upload the SCB back to the host so it can
- * process this information.  In the case of a non zero status byte, we
- * additionally interrupt the kernel driver synchronously, allowing it to
- * decide if sense should be retrieved.  If the kernel driver wishes to request
- * sense, it will fill the kernel SCB with a request sense command, requeue
- * it to the QINFIFO and tell us not to post to the QOUTFIFO by setting
- * RETURN_1 to SEND_SENSE.
+ * so, check to see if there is a residual or the status byte is something
+ * other than STATUS_GOOD (0).  In either of these conditions, we upload the
+ * SCB back to the host so it can process this information.
   */
  mesgin_complete:

@@ -1086,6 +1096,7 @@
  	call	queue_scb_completion;
  	jmp	await_busfree;

+BEGIN_CRITICAL;
  freeze_queue:
  	/* Cancel any pending select-out. */
  	test	SSTAT0, SELDO|SELINGO jnz . + 2;
@@ -1096,6 +1107,7 @@
  	adc	QFREEZE_COUNT[1], A;
  	or	SEQ_FLAGS2, SELECTOUT_QFROZEN;
  	mov	A, ACCUM_SAVE ret;
+END_CRITICAL;

  /*
   * Complete the current FIFO's SCB if data for this same
@@ -1340,6 +1352,47 @@
  	test	CCSGCTL, CCSGENACK jnz return;

  	/*
+	 * Should the other FIFO get the S/G cache first?  If
+	 * both FIFOs have been allocated since we last checked
+	 * any FIFO, it is important that we service a FIFO
+	 * that is not actively on the bus first.  This guarantees
+	 * that a FIFO will be freed to handle snapshot requests for
+	 * any FIFO that is still on the bus.  Chips with RTI do not
+	 * perform snapshots, so don't bother with this test there.
+	 */
+	if ((ahd->features & AHD_RTI) == 0) {
+		/*
+		 * If we're not still receiving SCSI data,
+		 * it is safe to allocate the S/G cache to
+		 * this FIFO.
+		 */
+		test	DFCNTRL, SCSIEN jz idle_sgfetch_start;
+
+		/*
+		 * Switch to the other FIFO.  Non-RTI chips
+		 * also have the "set mode" bug, so we must
+		 * disable interrupts during the switch.
+		 */
+		mvi	SEQINTCTL, INTVEC1DSL;
+		xor	MODE_PTR, MK_MODE(M_DFF1, M_DFF1);
+
+		/*
+		 * If the other FIFO needs loading, then it
+		 * must not have claimed the S/G cache yet
+		 * (SG_CACHE_AVAIL would have been cleared in
+		 * the orginal FIFO mode and we test this above).
+		 * Return to the idle loop so we can process the
+		 * FIFO not currently on the bus first.
+		 */
+		test	SG_STATE, LOADING_NEEDED jz idle_sgfetch_okay;
+		clr	SEQINTCTL ret;
+idle_sgfetch_okay:
+		xor	MODE_PTR, MK_MODE(M_DFF1, M_DFF1);
+		clr	SEQINTCTL;
+	}
+
+idle_sgfetch_start:
+	/*
  	 * We fetch a "cacheline aligned" and sized amount of data
  	 * so we don't end up referencing a non-existant page.
  	 * Cacheline aligned is in quotes because the kernel will
@@ -1350,7 +1403,7 @@
  	mvi	SGHCNT, SG_PREFETCH_CNT;
  	if ((ahd->bugs & AHD_REG_SLOW_SETTLE_BUG) != 0) {
  		/*
-		 * Need two instruction between "touches" of SGHADDR.
+		 * Need two instructions between "touches" of SGHADDR.
  		 */
  		nop;
  	}
==== //depot/aic7xxx/aic7xxx/aic79xx.c#225 - /home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic79xx_core.c ====
--- /tmp/tmp.26963.2	2004-09-27 13:31:40.829906392 -0400
+++ /home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic79xx_core.c	2004-01-20 05:16:39.000000000 -0500
@@ -37,7 +37,7 @@
   * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
   * POSSIBILITY OF SUCH DAMAGES.
   *
- * $Id: //depot/aic7xxx/aic7xxx/aic79xx.c#225 $
+ * $Id: //depot/aic7xxx/aic7xxx/aic79xx.c#226 $
   */

  #ifdef __linux__
@@ -8011,6 +8011,7 @@
  	} else {
  		paused = 0;
  		ahd_pause(ahd);
+		ahd_clear_critical_section(ahd);
  	}

  	/* Freeze the queue until the client sees the error. */
==== //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic79xx_osm.c#195 - /home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic79xx_osm.c ====
--- /tmp/tmp.26963.3	2004-09-27 13:31:41.337829176 -0400
+++ /home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic79xx_osm.c	2004-01-23 13:15:14.000000000 -0500
@@ -1,7 +1,7 @@
  /*
   * Adaptec AIC79xx device driver for Linux.
   *
- * $Id: //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic79xx_osm.c#195 $
+ * $Id: //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic79xx_osm.c#198 $
   *
   * --------------------------------------------------------------------------
   * Copyright (c) 1994-2000 Justin T. Gibbs.
@@ -52,9 +52,7 @@
   */
  #include "aiclib.c"

-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,3,0)
  #include <linux/init.h>		/* __setup */
-#endif

  #if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
  #include "sd.h"			/* For geometry detection */
@@ -77,14 +75,6 @@
   */
  spinlock_t ahd_list_spinlock;

-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,3,0)
-struct proc_dir_entry proc_scsi_aic79xx = {
-	PROC_SCSI_AIC79XX, 7, "aic79xx",
-	S_IFDIR | S_IRUGO | S_IXUGO, 2,
-	0, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL
-};
-#endif
-
  #if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
  /* For dynamic sglist size calculation. */
  u_int ahd_linux_nseg;
@@ -958,11 +948,7 @@
  "aic79xx: insmod or else it might trash certain memory areas.\n");
  #endif

-#if LINUX_VERSION_CODE > KERNEL_VERSION(2,3,0)
  	template->proc_name = "aic79xx";
-#else
-	template->proc_dir = &proc_scsi_aic79xx;
-#endif

  	/*
  	 * Initialize our softc list lock prior to
@@ -1972,9 +1958,7 @@
  	return 1;
  }

-#if LINUX_VERSION_CODE > KERNEL_VERSION(2,3,0)
  __setup("aic79xx=", aic79xx_setup);
-#endif

  uint32_t aic79xx_verbose;

@@ -2001,16 +1985,8 @@

  	*((struct ahd_softc **)host->hostdata) = ahd;
  	ahd_lock(ahd, &s);
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0)
-	scsi_assign_lock(host, &ahd->platform_data->spin_lock);
-#elif AHD_SCSI_HAS_HOST_LOCK != 0
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,21)
-	host->host_lock = &ahd->platform_data->spin_lock;
-#else
-	host->lock = &ahd->platform_data->spin_lock;
-#endif
-#endif
  	ahd->platform_data->host = host;
+	aic_assign_host_lock(ahd);
  	host->can_queue = AHD_MAX_QUEUE;
  	host->cmd_per_lun = 2;
  	host->sg_tablesize = AHD_NSEG;
@@ -2182,19 +2158,11 @@
  	ahd->platform_data->completeq_timer.data = (u_long)ahd;
  	ahd->platform_data->completeq_timer.function =
  	    (aic_linux_callback_t *)ahd_linux_thread_run_complete_queue;
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,3,0)
  	init_MUTEX_LOCKED(&ahd->platform_data->eh_sem);
  	init_MUTEX_LOCKED(&ahd->platform_data->dv_sem);
  	init_MUTEX_LOCKED(&ahd->platform_data->dv_cmd_sem);
  	init_MUTEX_LOCKED(&ahd->platform_data->recovery_sem);
  	init_MUTEX_LOCKED(&ahd->platform_data->recovery_ending_sem);
-#else
-	ahd->platform_data->eh_sem = MUTEX_LOCKED;
-	ahd->platform_data->dv_sem = MUTEX_LOCKED;
-	ahd->platform_data->dv_cmd_sem = MUTEX_LOCKED;
-	ahd->platform_data->recovery_sem = MUTEX_LOCKED;
-	ahd->platform_data->recovery_ending_sem = MUTEX_LOCKED;
-#endif
  	aic_setup_tasklets(ahd);
  	ahd->seltime = (aic79xx_seltime & 0x3) << 4;
  	return (0);
@@ -2258,10 +2226,8 @@
  			base_addr = (u_long)ahd->bshs[0].maddr;
  			base_addr &= PAGE_MASK;
  			iounmap((void *)base_addr);
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0)
  			release_mem_region(ahd->platform_data->mem_busaddr,
  					   0x1000);
-#endif
  		}
  #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) && \
      LINUX_VERSION_CODE  < KERNEL_VERSION(2,5,0)
@@ -2796,13 +2762,13 @@
  		 * ahd host lock held.  For other kernels, the
  		 * io_request_lock must be held.
  		 */
-#if AHD_SCSI_HAS_HOST_LOCK != 0
+#if AIC_SCSI_HAS_HOST_LOCK != 0
  		ahd_lock(ahd, &s);
  #else
  		spin_lock_irqsave(&io_request_lock, s);
  #endif
  		ahd_linux_queue(cmd, ahd_linux_dv_complete);
-#if AHD_SCSI_HAS_HOST_LOCK != 0
+#if AIC_SCSI_HAS_HOST_LOCK != 0
  		ahd_unlock(ahd, &s);
  #else
  		spin_unlock_irqrestore(&io_request_lock, s);
@@ -4039,6 +4005,30 @@
  		if ((tstate->auto_negotiate & mask) != 0) {
  			scb->flags |= SCB_AUTO_NEGOTIATE;
  			scb->hscb->control |= MK_MESSAGE;
+		} else if (cmd->cmnd[0] == INQUIRY
+			&& (tinfo->curr.offset != 0
+			 || tinfo->curr.width != MSG_EXT_WDTR_BUS_8_BIT
+			 || tinfo->curr.ppr_options != 0)
+			&& (tinfo->curr.ppr_options & MSG_EXT_PPR_IU_REQ)==0) {
+			/*
+			 * The SCSI spec requires inquiry
+			 * commands to complete without
+			 * reporting unit attention conditions.
+			 * Because of this, an inquiry command
+			 * that occurs just after a device is
+			 * reset will result in a data phase
+			 * with mismatched negotiated rates.
+			 * The core already forces a renegotiation
+			 * for reset events that are visible to
+			 * our controller or that we initiate,
+			 * but a third party device reset or a
+			 * hot-plug insertion can still cause this
+			 * issue.  Therefore, we force a re-negotiation
+			 * for every inquiry command unless we
+			 * are async.
+			 */
+			scb->flags |= SCB_NEGOTIATE;
+			scb->hscb->control |= MK_MESSAGE;
  		}

  		if ((dev->flags & (AIC_DEV_Q_TAGGED|AIC_DEV_Q_BASIC)) != 0) {
@@ -4324,7 +4314,7 @@
  		WARN_ON(lun != CAM_LUN_WILDCARD);
  		scsi_report_device_reset(ahd->platform_data->host,
  					 channel - 'A', target);
-#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,3,0)
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0)
  		Scsi_Device *scsi_dev;

  		/*
@@ -4345,12 +4335,10 @@
  		break;
  	}
          case AC_BUS_RESET:
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,3,0)
  		if (ahd->platform_data->host != NULL) {
  			scsi_report_bus_reset(ahd->platform_data->host,
  					      channel - 'A');
  		}
-#endif
  		/*
  		 * Add a minimal bus settle delay for devices that are slow to
  		 * respond after bus resets.
==== //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic79xx_reg.h#77 - /home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic79xx_reg.h_shipped ====
--- /tmp/tmp.26963.4	2004-09-27 13:31:41.833753784 -0400
+++ /home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic79xx_reg.h_shipped	2004-01-20 16:07:15.000000000 -0500
@@ -2,8 +2,8 @@
   * DO NOT EDIT - This file is automatically generated
   *		 from the following source files:
   *
- * $Id: //depot/aic7xxx/aic7xxx/aic79xx.seq#107 $
- * $Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#70 $
+ * $Id: //depot/aic7xxx/aic7xxx/aic79xx.seq#109 $
+ * $Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#71 $
   */
  typedef int (ahd_reg_print_t)(u_int, u_int *, u_int);
  typedef struct ahd_reg_parse_entry {
@@ -3772,5 +3772,5 @@


  /* Exported Labels */
-#define	LABEL_seq_isr 	0x269
-#define	LABEL_timer_isr	0x265
+#define	LABEL_seq_isr 	0x26d
+#define	LABEL_timer_isr	0x269
==== //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic79xx_reg_print.c#58 - /home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic79xx_reg_print.c_shipped ====
--- /tmp/tmp.26963.5	2004-09-27 13:31:42.203697544 -0400
+++ /home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic79xx_reg_print.c_shipped	2004-01-20 16:07:15.000000000 -0500
@@ -2,8 +2,8 @@
   * DO NOT EDIT - This file is automatically generated
   *		 from the following source files:
   *
- * $Id: //depot/aic7xxx/aic7xxx/aic79xx.seq#107 $
- * $Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#70 $
+ * $Id: //depot/aic7xxx/aic7xxx/aic79xx.seq#109 $
+ * $Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#71 $
   */

  #include "aic79xx_osm.h"
==== //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic79xx_seq.h#78 - /home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic79xx_seq.h_shipped ====
--- /tmp/tmp.26963.6	2004-09-27 13:31:42.295683560 -0400
+++ /home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic79xx_seq.h_shipped	2004-01-20 16:07:15.000000000 -0500
@@ -2,30 +2,30 @@
   * DO NOT EDIT - This file is automatically generated
   *		 from the following source files:
   *
- * $Id: //depot/aic7xxx/aic7xxx/aic79xx.seq#107 $
- * $Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#70 $
+ * $Id: //depot/aic7xxx/aic7xxx/aic79xx.seq#109 $
+ * $Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#71 $
   */
  static uint8_t seqprog[] = {
  	0xff, 0x02, 0x06, 0x78,
-	0x00, 0xea, 0x46, 0x59,
+	0x00, 0xea, 0x40, 0x59,
  	0x01, 0xea, 0x04, 0x30,
  	0xff, 0x04, 0x0c, 0x78,
-	0x19, 0xea, 0x46, 0x59,
+	0x19, 0xea, 0x40, 0x59,
  	0x19, 0xea, 0x04, 0x00,
  	0x33, 0xea, 0x3a, 0x59,
  	0x33, 0xea, 0x00, 0x00,
  	0x60, 0x3a, 0x1a, 0x68,
  	0x04, 0x47, 0x1b, 0x68,
  	0xff, 0x21, 0x1b, 0x70,
-	0x40, 0x4b, 0x8c, 0x69,
-	0x00, 0xe2, 0x4a, 0x59,
-	0x40, 0x4b, 0x8c, 0x69,
-	0x20, 0x4b, 0x78, 0x69,
+	0x40, 0x4b, 0x86, 0x69,
+	0x00, 0xe2, 0x44, 0x59,
+	0x40, 0x4b, 0x86, 0x69,
+	0x20, 0x4b, 0x72, 0x69,
  	0xfc, 0x42, 0x24, 0x78,
  	0x10, 0x40, 0x24, 0x78,
-	0x00, 0xe2, 0xc4, 0x5d,
+	0x00, 0xe2, 0xcc, 0x5d,
  	0x20, 0x4d, 0x28, 0x78,
-	0x00, 0xe2, 0xc4, 0x5d,
+	0x00, 0xe2, 0xcc, 0x5d,
  	0x30, 0x3f, 0xc0, 0x09,
  	0x30, 0xe0, 0x30, 0x60,
  	0x7f, 0x4a, 0x94, 0x08,
@@ -43,11 +43,11 @@
  	0xff, 0x97, 0x4f, 0x78,
  	0x50, 0x4b, 0x4a, 0x68,
  	0xbf, 0x3a, 0x74, 0x08,
-	0x14, 0xea, 0x46, 0x59,
+	0x14, 0xea, 0x40, 0x59,
  	0x14, 0xea, 0x04, 0x00,
  	0x08, 0x92, 0x25, 0x03,
  	0xff, 0x90, 0x3f, 0x68,
-	0x00, 0xe2, 0x58, 0x5b,
+	0x00, 0xe2, 0x52, 0x5b,
  	0x00, 0xe2, 0x3e, 0x40,
  	0x00, 0xea, 0x3a, 0x59,
  	0x01, 0xea, 0x00, 0x30,
@@ -166,16 +166,13 @@
  	0x80, 0xea, 0xb2, 0x01,
  	0x01, 0xe2, 0x00, 0x30,
  	0xff, 0xea, 0xb2, 0x0d,
-	0x80, 0xea, 0xb2, 0x01,
-	0x11, 0x00, 0x00, 0x10,
-	0xff, 0xea, 0xb2, 0x0d,
  	0x01, 0xe2, 0x04, 0x30,
  	0x01, 0xea, 0x04, 0x34,
  	0x02, 0x20, 0xbd, 0x30,
  	0x02, 0x20, 0xb9, 0x30,
  	0x02, 0x20, 0x51, 0x31,
  	0x4c, 0x93, 0xd7, 0x28,
-	0x10, 0x92, 0x59, 0x79,
+	0x10, 0x92, 0x53, 0x79,
  	0x01, 0x6b, 0xc0, 0x30,
  	0x02, 0x64, 0xc8, 0x00,
  	0x40, 0x3a, 0x74, 0x04,
@@ -183,9 +180,9 @@
  	0x33, 0xea, 0x3a, 0x59,
  	0x33, 0xea, 0x00, 0x00,
  	0x30, 0x3f, 0xc0, 0x09,
-	0x30, 0xe0, 0x5a, 0x61,
-	0x20, 0x3f, 0x70, 0x69,
-	0x10, 0x3f, 0x5a, 0x79,
+	0x30, 0xe0, 0x54, 0x61,
+	0x20, 0x3f, 0x6a, 0x69,
+	0x10, 0x3f, 0x54, 0x79,
  	0x02, 0xea, 0x7e, 0x00,
  	0x00, 0xea, 0x3a, 0x59,
  	0x01, 0xea, 0x00, 0x30,
@@ -195,7 +192,7 @@
  	0x11, 0xea, 0x00, 0x00,
  	0x02, 0x48, 0x51, 0x35,
  	0xc0, 0x4a, 0x94, 0x00,
-	0x04, 0x41, 0x7e, 0x79,
+	0x04, 0x41, 0x78, 0x79,
  	0x08, 0xea, 0x98, 0x00,
  	0x08, 0x57, 0xae, 0x00,
  	0x08, 0x3c, 0x78, 0x00,
@@ -203,12 +200,12 @@
  	0x0f, 0x67, 0xc0, 0x09,
  	0x00, 0x34, 0x69, 0x02,
  	0x20, 0xea, 0x96, 0x00,
-	0x00, 0xe2, 0xf6, 0x41,
+	0x00, 0xe2, 0xf0, 0x41,
  	0xc0, 0x4a, 0x94, 0x00,
-	0x40, 0x3a, 0xaa, 0x69,
+	0x40, 0x3a, 0xa4, 0x69,
  	0x02, 0x55, 0x06, 0x68,
-	0x02, 0x56, 0xaa, 0x69,
-	0xff, 0x5b, 0xaa, 0x61,
+	0x02, 0x56, 0xa4, 0x69,
+	0xff, 0x5b, 0xa4, 0x61,
  	0x02, 0x20, 0x51, 0x31,
  	0x80, 0xea, 0xb2, 0x01,
  	0x44, 0xea, 0x00, 0x00,
@@ -216,40 +213,40 @@
  	0x33, 0xea, 0x00, 0x00,
  	0xff, 0xea, 0xb2, 0x09,
  	0xff, 0xe0, 0xc0, 0x19,
-	0xff, 0xe0, 0xac, 0x79,
+	0xff, 0xe0, 0xa6, 0x79,
  	0x02, 0xac, 0x51, 0x31,
-	0x00, 0xe2, 0xa2, 0x41,
+	0x00, 0xe2, 0x9c, 0x41,
  	0x02, 0x5e, 0x50, 0x31,
  	0x02, 0xa8, 0xb8, 0x30,
  	0x02, 0x5c, 0x50, 0x31,
-	0xff, 0xad, 0xbd, 0x71,
+	0xff, 0xad, 0xb7, 0x71,
  	0x02, 0xac, 0x41, 0x31,
  	0x02, 0x22, 0x51, 0x31,
  	0x02, 0xa0, 0x5c, 0x33,
  	0x02, 0xa0, 0x44, 0x32,
-	0x00, 0xe2, 0xc6, 0x41,
-	0x10, 0x92, 0xc7, 0x69,
+	0x00, 0xe2, 0xc0, 0x41,
+	0x10, 0x92, 0xc1, 0x69,
  	0x3d, 0x93, 0xc9, 0x29,
  	0x01, 0xe4, 0xc8, 0x01,
  	0x01, 0xea, 0xca, 0x01,
  	0xff, 0xea, 0xda, 0x01,
  	0x02, 0x20, 0x51, 0x31,
  	0x02, 0xae, 0x41, 0x32,
-	0xff, 0x21, 0xcf, 0x61,
+	0xff, 0x21, 0xc9, 0x61,
  	0xff, 0xea, 0x46, 0x02,
  	0x02, 0x5c, 0x50, 0x31,
  	0x40, 0xea, 0x96, 0x00,
-	0x02, 0x56, 0xcc, 0x6d,
-	0x01, 0x55, 0xcc, 0x6d,
-	0x10, 0x92, 0xdb, 0x79,
-	0x10, 0x40, 0xe4, 0x69,
-	0x01, 0x56, 0xe4, 0x79,
+	0x02, 0x56, 0xd4, 0x6d,
+	0x01, 0x55, 0xd4, 0x6d,
+	0x10, 0x92, 0xd5, 0x79,
+	0x10, 0x40, 0xde, 0x69,
+	0x01, 0x56, 0xde, 0x79,
  	0xff, 0x97, 0x07, 0x78,
-	0x13, 0xea, 0x46, 0x59,
+	0x13, 0xea, 0x40, 0x59,
  	0x13, 0xea, 0x04, 0x00,
  	0x00, 0xe2, 0x06, 0x40,
  	0xbf, 0x3a, 0x74, 0x08,
-	0x04, 0x41, 0xea, 0x79,
+	0x04, 0x41, 0xe4, 0x79,
  	0x08, 0xea, 0x98, 0x00,
  	0x08, 0x57, 0xae, 0x00,
  	0x01, 0x93, 0x69, 0x32,
@@ -257,87 +254,87 @@
  	0x40, 0xea, 0x66, 0x02,
  	0x08, 0x3c, 0x78, 0x00,
  	0x80, 0xea, 0x62, 0x02,
-	0x00, 0xe2, 0xb8, 0x5b,
+	0x00, 0xe2, 0xb2, 0x5b,
  	0x01, 0x36, 0xc1, 0x31,
-	0x9f, 0xe0, 0x4c, 0x7c,
-	0x80, 0xe0, 0x0a, 0x72,
-	0xa0, 0xe0, 0x46, 0x72,
-	0xc0, 0xe0, 0x3c, 0x72,
-	0xe0, 0xe0, 0x76, 0x72,
-	0x01, 0xea, 0x46, 0x59,
+	0x9f, 0xe0, 0x54, 0x7c,
+	0x80, 0xe0, 0x04, 0x72,
+	0xa0, 0xe0, 0x40, 0x72,
+	0xc0, 0xe0, 0x36, 0x72,
+	0xe0, 0xe0, 0x70, 0x72,
+	0x01, 0xea, 0x40, 0x59,
  	0x01, 0xea, 0x04, 0x00,
-	0x00, 0xe2, 0xf6, 0x41,
-	0x80, 0x33, 0x11, 0x7a,
-	0x03, 0xea, 0x46, 0x59,
+	0x00, 0xe2, 0xf0, 0x41,
+	0x80, 0x33, 0x0b, 0x7a,
+	0x03, 0xea, 0x40, 0x59,
  	0x03, 0xea, 0x04, 0x00,
-	0xee, 0x00, 0x18, 0x6a,
+	0xee, 0x00, 0x12, 0x6a,
  	0x05, 0xea, 0xb4, 0x00,
  	0x33, 0xea, 0x3a, 0x59,
  	0x33, 0xea, 0x00, 0x00,
  	0x02, 0xa8, 0x90, 0x32,
-	0x00, 0xe2, 0x60, 0x59,
+	0x00, 0xe2, 0x5a, 0x59,
  	0xef, 0x96, 0xd5, 0x19,
-	0x00, 0xe2, 0x28, 0x52,
+	0x00, 0xe2, 0x22, 0x52,
  	0x09, 0x80, 0xe1, 0x30,
  	0x02, 0xea, 0x36, 0x00,
  	0xa8, 0xea, 0x32, 0x00,
-	0x00, 0xe2, 0x2e, 0x42,
+	0x00, 0xe2, 0x28, 0x42,
  	0x01, 0x96, 0xd1, 0x30,
  	0x10, 0x80, 0x89, 0x31,
  	0x20, 0xea, 0x32, 0x00,
  	0xbf, 0x33, 0x67, 0x0a,
-	0x10, 0x4c, 0x38, 0x6a,
-	0x20, 0x19, 0x30, 0x6a,
-	0x20, 0x19, 0x34, 0x6a,
-	0x02, 0x4d, 0xf6, 0x69,
+	0x10, 0x4c, 0x32, 0x6a,
+	0x20, 0x19, 0x2a, 0x6a,
+	0x20, 0x19, 0x2e, 0x6a,
+	0x02, 0x4d, 0xf0, 0x69,
  	0x40, 0x33, 0x67, 0x02,
-	0x00, 0xe2, 0xf6, 0x41,
-	0x80, 0x33, 0xb7, 0x6a,
+	0x00, 0xe2, 0xf0, 0x41,
+	0x80, 0x33, 0xb1, 0x6a,
  	0x01, 0x44, 0x10, 0x33,
  	0x08, 0x92, 0x25, 0x03,
-	0x00, 0xe2, 0xf6, 0x41,
+	0x00, 0xe2, 0xf0, 0x41,
  	0x10, 0xea, 0x80, 0x00,
  	0x01, 0x31, 0xc5, 0x31,
-	0x80, 0xe2, 0x62, 0x62,
-	0x10, 0x92, 0x87, 0x6a,
+	0x80, 0xe2, 0x5c, 0x62,
+	0x10, 0x92, 0x81, 0x6a,
  	0xc0, 0x94, 0xc5, 0x01,
-	0x40, 0x92, 0x53, 0x6a,
+	0x40, 0x92, 0x4d, 0x6a,
  	0xbf, 0xe2, 0xc4, 0x09,
-	0x20, 0x92, 0x67, 0x7a,
+	0x20, 0x92, 0x61, 0x7a,
  	0x01, 0xe2, 0x88, 0x30,
-	0x00, 0xe2, 0xb8, 0x5b,
-	0xa0, 0x36, 0x6f, 0x62,
+	0x00, 0xe2, 0xb2, 0x5b,
+	0xa0, 0x36, 0x69, 0x62,
  	0x23, 0x92, 0x89, 0x08,
-	0x00, 0xe2, 0xb8, 0x5b,
-	0xa0, 0x36, 0x6f, 0x62,
-	0x00, 0xa8, 0x66, 0x42,
-	0xff, 0xe2, 0x66, 0x62,
-	0x00, 0xe2, 0x86, 0x42,
+	0x00, 0xe2, 0xb2, 0x5b,
+	0xa0, 0x36, 0x69, 0x62,
+	0x00, 0xa8, 0x60, 0x42,
+	0xff, 0xe2, 0x60, 0x62,
+	0x00, 0xe2, 0x80, 0x42,
  	0x40, 0xea, 0x98, 0x00,
  	0x01, 0xe2, 0x88, 0x30,
-	0x00, 0xe2, 0xb8, 0x5b,
-	0xa0, 0x36, 0x45, 0x72,
+	0x00, 0xe2, 0xb2, 0x5b,
+	0xa0, 0x36, 0x3f, 0x72,
  	0x40, 0xea, 0x98, 0x00,
  	0x01, 0x31, 0x89, 0x32,
  	0x08, 0xea, 0x62, 0x02,
-	0x00, 0xe2, 0xf6, 0x41,
-	0xe0, 0xea, 0xd4, 0x5b,
-	0x80, 0xe0, 0xc2, 0x6a,
-	0x04, 0xe0, 0x68, 0x73,
-	0x02, 0xe0, 0x9a, 0x73,
-	0x00, 0xea, 0x20, 0x73,
-	0x03, 0xe0, 0xaa, 0x73,
-	0x23, 0xe0, 0x98, 0x72,
-	0x08, 0xe0, 0xbe, 0x72,
-	0x00, 0xe2, 0xb8, 0x5b,
-	0x07, 0xea, 0x46, 0x59,
+	0x00, 0xe2, 0xf0, 0x41,
+	0xe0, 0xea, 0xce, 0x5b,
+	0x80, 0xe0, 0xbc, 0x6a,
+	0x04, 0xe0, 0x62, 0x73,
+	0x02, 0xe0, 0x94, 0x73,
+	0x00, 0xea, 0x1a, 0x73,
+	0x03, 0xe0, 0xa4, 0x73,
+	0x23, 0xe0, 0x92, 0x72,
+	0x08, 0xe0, 0xb8, 0x72,
+	0x00, 0xe2, 0xb2, 0x5b,
+	0x07, 0xea, 0x40, 0x59,
  	0x07, 0xea, 0x04, 0x00,
-	0x08, 0x42, 0xf7, 0x71,
-	0x04, 0x42, 0x95, 0x62,
+	0x08, 0x42, 0xf1, 0x71,
+	0x04, 0x42, 0x8f, 0x62,
  	0x01, 0x43, 0x89, 0x30,
-	0x00, 0xe2, 0x86, 0x42,
+	0x00, 0xe2, 0x80, 0x42,
  	0x01, 0x44, 0xd4, 0x31,
-	0x00, 0xe2, 0x86, 0x42,
+	0x00, 0xe2, 0x80, 0x42,
  	0x01, 0x00, 0x60, 0x32,
  	0x33, 0xea, 0x3a, 0x59,
  	0x33, 0xea, 0x00, 0x00,
@@ -345,20 +342,20 @@
  	0x01, 0x64, 0xc0, 0x31,
  	0x00, 0x30, 0x3b, 0x59,
  	0x01, 0x30, 0x01, 0x30,
-	0x01, 0xe0, 0xbc, 0x7a,
-	0xa0, 0xea, 0xca, 0x5b,
-	0x01, 0xa0, 0xbc, 0x62,
-	0x01, 0x84, 0xb1, 0x7a,
-	0x01, 0x95, 0xbf, 0x6a,
-	0x05, 0xea, 0x46, 0x59,
+	0x01, 0xe0, 0xb6, 0x7a,
+	0xa0, 0xea, 0xc4, 0x5b,
+	0x01, 0xa0, 0xb6, 0x62,
+	0x01, 0x84, 0xab, 0x7a,
+	0x01, 0x95, 0xb9, 0x6a,
+	0x05, 0xea, 0x40, 0x59,
  	0x05, 0xea, 0x04, 0x00,
-	0x00, 0xe2, 0xbe, 0x42,
-	0x03, 0xea, 0x46, 0x59,
+	0x00, 0xe2, 0xb8, 0x42,
+	0x03, 0xea, 0x40, 0x59,
  	0x03, 0xea, 0x04, 0x00,
-	0x00, 0xe2, 0xbe, 0x42,
-	0x07, 0xea, 0xdc, 0x5b,
+	0x00, 0xe2, 0xb8, 0x42,
+	0x07, 0xea, 0xd6, 0x5b,
  	0x01, 0x44, 0xd4, 0x31,
-	0x00, 0xe2, 0xf6, 0x41,
+	0x00, 0xe2, 0xf0, 0x41,
  	0x3f, 0xe0, 0x6a, 0x0a,
  	0xc0, 0x34, 0xc1, 0x09,
  	0x00, 0x35, 0x51, 0x01,
@@ -369,54 +366,54 @@
  	0x01, 0xea, 0xc6, 0x01,
  	0x02, 0xe2, 0xc8, 0x31,
  	0x02, 0xec, 0x40, 0x31,
-	0xff, 0xa1, 0xde, 0x72,
+	0xff, 0xa1, 0xd8, 0x72,
  	0x02, 0xe8, 0xda, 0x31,
  	0x02, 0xa0, 0x50, 0x31,
-	0x00, 0xe2, 0x00, 0x43,
+	0x00, 0xe2, 0xfa, 0x42,
  	0x80, 0x33, 0x67, 0x02,
  	0x01, 0x44, 0xd4, 0x31,
-	0x00, 0xe2, 0xb8, 0x5b,
+	0x00, 0xe2, 0xb2, 0x5b,
  	0x01, 0x33, 0x67, 0x02,
-	0xe0, 0x36, 0x1b, 0x63,
+	0xe0, 0x36, 0x15, 0x63,
  	0x02, 0x33, 0x67, 0x02,
-	0x20, 0x46, 0x14, 0x63,
+	0x20, 0x46, 0x0e, 0x63,
  	0xff, 0xea, 0x52, 0x09,
-	0xa8, 0xea, 0xca, 0x5b,
-	0x04, 0x92, 0xfb, 0x7a,
+	0xa8, 0xea, 0xc4, 0x5b,
+	0x04, 0x92, 0xf5, 0x7a,
  	0x01, 0x34, 0xc1, 0x31,
-	0x00, 0x93, 0xfb, 0x62,
+	0x00, 0x93, 0xf5, 0x62,
  	0x01, 0x35, 0xc1, 0x31,
-	0x00, 0x94, 0x05, 0x73,
+	0x00, 0x94, 0xff, 0x72,
  	0x01, 0xa9, 0x52, 0x11,
-	0xff, 0xa9, 0xf0, 0x6a,
-	0x00, 0xe2, 0x14, 0x43,
+	0xff, 0xa9, 0xea, 0x6a,
+	0x00, 0xe2, 0x0e, 0x43,
  	0x10, 0x33, 0x67, 0x02,
-	0x04, 0x92, 0x15, 0x7b,
+	0x04, 0x92, 0x0f, 0x7b,
  	0xfb, 0x92, 0x25, 0x0b,
  	0xff, 0xea, 0x66, 0x0a,
-	0x01, 0xa4, 0x0f, 0x6b,
+	0x01, 0xa4, 0x09, 0x6b,
  	0x02, 0xa8, 0x90, 0x32,
-	0x00, 0xe2, 0x60, 0x59,
-	0x10, 0x92, 0xbf, 0x7a,
-	0xff, 0xea, 0xdc, 0x5b,
-	0x00, 0xe2, 0xbe, 0x42,
-	0x04, 0xea, 0x46, 0x59,
+	0x00, 0xe2, 0x5a, 0x59,
+	0x10, 0x92, 0xb9, 0x7a,
+	0xff, 0xea, 0xd6, 0x5b,
+	0x00, 0xe2, 0xb8, 0x42,
+	0x04, 0xea, 0x40, 0x59,
  	0x04, 0xea, 0x04, 0x00,
-	0x00, 0xe2, 0xbe, 0x42,
-	0x04, 0xea, 0x46, 0x59,
+	0x00, 0xe2, 0xb8, 0x42,
+	0x04, 0xea, 0x40, 0x59,
  	0x04, 0xea, 0x04, 0x00,
-	0x00, 0xe2, 0xf6, 0x41,
-	0x08, 0x92, 0xb7, 0x7a,
-	0xc0, 0x33, 0x2b, 0x7b,
-	0x80, 0x33, 0xb7, 0x6a,
-	0xff, 0x88, 0x2b, 0x6b,
-	0x40, 0x33, 0xb7, 0x6a,
-	0x10, 0x92, 0x31, 0x7b,
-	0x0a, 0xea, 0x46, 0x59,
+	0x00, 0xe2, 0xf0, 0x41,
+	0x08, 0x92, 0xb1, 0x7a,
+	0xc0, 0x33, 0x25, 0x7b,
+	0x80, 0x33, 0xb1, 0x6a,
+	0xff, 0x88, 0x25, 0x6b,
+	0x40, 0x33, 0xb1, 0x6a,
+	0x10, 0x92, 0x2b, 0x7b,
+	0x0a, 0xea, 0x40, 0x59,
  	0x0a, 0xea, 0x04, 0x00,
-	0x00, 0xe2, 0x50, 0x5b,
-	0x00, 0xe2, 0x84, 0x43,
-	0x50, 0x4b, 0x38, 0x6b,
+	0x00, 0xe2, 0x4a, 0x5b,
+	0x00, 0xe2, 0x7e, 0x43,
+	0x50, 0x4b, 0x32, 0x6b,
  	0xbf, 0x3a, 0x74, 0x08,
  	0x01, 0xe0, 0xf4, 0x31,
  	0xff, 0xea, 0xc0, 0x09,
@@ -430,21 +427,21 @@
  	0x33, 0xea, 0x00, 0x00,
  	0x02, 0x42, 0x51, 0x31,
  	0xff, 0x90, 0x65, 0x68,
-	0xff, 0x88, 0x5d, 0x6b,
-	0x01, 0xa4, 0x59, 0x6b,
-	0x02, 0xa4, 0x61, 0x6b,
-	0x01, 0x84, 0x61, 0x7b,
+	0xff, 0x88, 0x57, 0x6b,
+	0x01, 0xa4, 0x53, 0x6b,
+	0x02, 0xa4, 0x5b, 0x6b,
+	0x01, 0x84, 0x5b, 0x7b,
  	0x02, 0x28, 0x19, 0x33,
  	0x02, 0xa8, 0x50, 0x36,
-	0xff, 0x88, 0x61, 0x73,
-	0x00, 0xe2, 0x34, 0x5b,
+	0xff, 0x88, 0x5b, 0x73,
+	0x00, 0xe2, 0x2e, 0x5b,
  	0x02, 0xa8, 0x20, 0x33,
  	0x02, 0x2c, 0x19, 0x33,
  	0x02, 0xa8, 0x58, 0x32,
  	0x04, 0xa4, 0x49, 0x07,
-	0xc0, 0x33, 0xb7, 0x6a,
+	0xc0, 0x33, 0xb1, 0x6a,
  	0x04, 0x92, 0x25, 0x03,
-	0x20, 0x92, 0x85, 0x6b,
+	0x20, 0x92, 0x7f, 0x6b,
  	0x02, 0xa8, 0x40, 0x31,
  	0xc0, 0x34, 0xc1, 0x09,
  	0x00, 0x35, 0x51, 0x01,
@@ -459,56 +456,63 @@
  	0xf7, 0x57, 0xae, 0x08,
  	0x08, 0xea, 0x98, 0x00,
  	0x01, 0x44, 0xd4, 0x31,
-	0xee, 0x00, 0x8e, 0x6b,
+	0xee, 0x00, 0x88, 0x6b,
  	0x02, 0xea, 0xb4, 0x00,
  	0xc0, 0xea, 0x66, 0x02,
-	0x09, 0x4c, 0x90, 0x7b,
+	0x09, 0x4c, 0x8a, 0x7b,
  	0x01, 0xea, 0x6c, 0x02,
  	0x08, 0x4c, 0x06, 0x68,
-	0x0b, 0xea, 0x46, 0x59,
+	0x0b, 0xea, 0x40, 0x59,
  	0x0b, 0xea, 0x04, 0x00,
  	0x01, 0x44, 0xd4, 0x31,
-	0x20, 0x33, 0xf7, 0x79,
-	0x00, 0xe2, 0xa2, 0x5b,
-	0x00, 0xe2, 0xf6, 0x41,
-	0x01, 0x84, 0xa7, 0x7b,
+	0x20, 0x33, 0xf1, 0x79,
+	0x00, 0xe2, 0x9c, 0x5b,
+	0x00, 0xe2, 0xf0, 0x41,
+	0x01, 0x84, 0xa1, 0x7b,
  	0x01, 0xa4, 0x49, 0x07,
  	0x08, 0x60, 0x30, 0x33,
  	0x08, 0x80, 0x41, 0x37,
  	0xdf, 0x33, 0x67, 0x0a,
-	0xee, 0x00, 0xb4, 0x6b,
+	0xee, 0x00, 0xae, 0x6b,
  	0x05, 0xea, 0xb4, 0x00,
  	0x33, 0xea, 0x3a, 0x59,
  	0x33, 0xea, 0x00, 0x00,
-	0x00, 0xe2, 0x60, 0x59,
-	0x00, 0xe2, 0xbe, 0x42,
-	0xff, 0x42, 0xc4, 0x6b,
-	0x01, 0x41, 0xb8, 0x6b,
-	0x02, 0x41, 0xb8, 0x7b,
-	0xff, 0x42, 0xc4, 0x6b,
-	0x01, 0x41, 0xb8, 0x6b,
-	0x02, 0x41, 0xb8, 0x7b,
-	0xff, 0x42, 0xc4, 0x7b,
-	0x04, 0x4c, 0xb8, 0x6b,
+	0x00, 0xe2, 0x5a, 0x59,
+	0x00, 0xe2, 0xb8, 0x42,
+	0xff, 0x42, 0xbe, 0x6b,
+	0x01, 0x41, 0xb2, 0x6b,
+	0x02, 0x41, 0xb2, 0x7b,
+	0xff, 0x42, 0xbe, 0x6b,
+	0x01, 0x41, 0xb2, 0x6b,
+	0x02, 0x41, 0xb2, 0x7b,
+	0xff, 0x42, 0xbe, 0x7b,
+	0x04, 0x4c, 0xb2, 0x6b,
  	0xe0, 0x41, 0x6c, 0x0e,
  	0x01, 0x44, 0xd4, 0x31,
-	0xff, 0x42, 0xcc, 0x7b,
-	0x04, 0x4c, 0xcc, 0x6b,
+	0xff, 0x42, 0xc6, 0x7b,
+	0x04, 0x4c, 0xc6, 0x6b,
  	0xe0, 0x41, 0x6c, 0x0a,
-	0xe0, 0x36, 0xf7, 0x61,
+	0xe0, 0x36, 0xf1, 0x61,
  	0xff, 0xea, 0xca, 0x09,
  	0x01, 0xe2, 0xc8, 0x31,
  	0x01, 0x46, 0xda, 0x35,
  	0x01, 0x44, 0xd4, 0x35,
  	0x10, 0xea, 0x80, 0x00,
  	0x01, 0xe2, 0x62, 0x36,
-	0x04, 0xa6, 0xe4, 0x7b,
+	0x04, 0xa6, 0xde, 0x7b,
  	0xff, 0xea, 0x5a, 0x09,
  	0xff, 0xea, 0x4c, 0x0d,
-	0x01, 0xa6, 0x02, 0x6c,
+	0x01, 0xa6, 0x0a, 0x6c,
  	0x10, 0xad, 0x64, 0x78,
-	0x80, 0xad, 0xfa, 0x6b,
+	0x80, 0xad, 0x02, 0x6c,
  	0x08, 0xad, 0x64, 0x68,
+	0x20, 0x19, 0xf6, 0x7b,
+	0x80, 0xea, 0xb2, 0x01,
+	0x11, 0x00, 0x00, 0x10,
+	0x02, 0xa6, 0xf2, 0x7b,
+	0xff, 0xea, 0xb2, 0x0d,
+	0x11, 0x00, 0x00, 0x10,
+	0xff, 0xea, 0xb2, 0x09,
  	0x04, 0x84, 0xf9, 0x30,
  	0x00, 0xea, 0x08, 0x81,
  	0xff, 0xea, 0xd4, 0x09,
@@ -533,7 +537,7 @@
  	0x00, 0x86, 0x0d, 0x23,
  	0x00, 0x87, 0x0f, 0x23,
  	0x01, 0x84, 0xc5, 0x31,
-	0x80, 0x83, 0x25, 0x7c,
+	0x80, 0x83, 0x2d, 0x7c,
  	0x02, 0xe2, 0xc4, 0x01,
  	0xff, 0xea, 0x4c, 0x09,
  	0x01, 0xe2, 0x36, 0x30,
@@ -544,75 +548,75 @@
  	0xfe, 0xa6, 0x4c, 0x0d,
  	0x0b, 0x98, 0xe1, 0x30,
  	0xfd, 0xa4, 0x49, 0x09,
-	0x80, 0xa3, 0x39, 0x7c,
+	0x80, 0xa3, 0x41, 0x7c,
  	0x02, 0xa4, 0x48, 0x01,
  	0x01, 0xa4, 0x36, 0x30,
  	0xa8, 0xea, 0x32, 0x00,
  	0xfd, 0xa4, 0x49, 0x0b,
  	0x05, 0xa3, 0x07, 0x33,
-	0x80, 0x83, 0x45, 0x6c,
+	0x80, 0x83, 0x4d, 0x6c,
  	0x02, 0xea, 0x4c, 0x05,
  	0xff, 0xea, 0x4c, 0x0d,
  	0x00, 0xe2, 0x34, 0x59,
-	0x02, 0xa6, 0xe6, 0x6b,
+	0x02, 0xa6, 0xe0, 0x6b,
  	0x80, 0xf9, 0xf2, 0x05,
-	0xc0, 0x33, 0x53, 0x7c,
-	0x03, 0xea, 0x46, 0x59,
+	0xc0, 0x33, 0x5b, 0x7c,
+	0x03, 0xea, 0x40, 0x59,
  	0x03, 0xea, 0x04, 0x00,
-	0x20, 0x33, 0x77, 0x7c,
-	0x01, 0x84, 0x5d, 0x6c,
-	0x06, 0xea, 0x46, 0x59,
+	0x20, 0x33, 0x7f, 0x7c,
+	0x01, 0x84, 0x65, 0x6c,
+	0x06, 0xea, 0x40, 0x59,
  	0x06, 0xea, 0x04, 0x00,
-	0x00, 0xe2, 0x7a, 0x44,
+	0x00, 0xe2, 0x82, 0x44,
  	0x01, 0x00, 0x60, 0x32,
-	0xee, 0x00, 0x66, 0x6c,
+	0xee, 0x00, 0x6e, 0x6c,
  	0x05, 0xea, 0xb4, 0x00,
  	0x33, 0xea, 0x3a, 0x59,
  	0x33, 0xea, 0x00, 0x00,
  	0x80, 0x3d, 0x7a, 0x00,
-	0xfc, 0x42, 0x68, 0x7c,
+	0xfc, 0x42, 0x70, 0x7c,
  	0x7f, 0x3d, 0x7a, 0x08,
  	0x00, 0x30, 0x3b, 0x59,
  	0x01, 0x30, 0x01, 0x30,
-	0x09, 0xea, 0x46, 0x59,
+	0x09, 0xea, 0x40, 0x59,
  	0x09, 0xea, 0x04, 0x00,
-	0x00, 0xe2, 0xf6, 0x41,
-	0x01, 0xa4, 0x5d, 0x6c,
-	0x00, 0xe2, 0x30, 0x5c,
+	0x00, 0xe2, 0xf0, 0x41,
+	0x01, 0xa4, 0x65, 0x6c,
+	0x00, 0xe2, 0x38, 0x5c,
  	0x20, 0x33, 0x67, 0x02,
  	0x01, 0x00, 0x60, 0x32,
-	0x02, 0xa6, 0x82, 0x7c,
-	0x00, 0xe2, 0x46, 0x5c,
+	0x02, 0xa6, 0x8a, 0x7c,
+	0x00, 0xe2, 0x4e, 0x5c,
  	0x00, 0xe2, 0x56, 0x58,
  	0x00, 0xe2, 0x66, 0x58,
  	0x00, 0xe2, 0x3a, 0x58,
  	0x00, 0x30, 0x3b, 0x59,
  	0x01, 0x30, 0x01, 0x30,
-	0x20, 0x19, 0x82, 0x6c,
-	0x00, 0xe2, 0xb2, 0x5c,
-	0x04, 0x19, 0x9c, 0x6c,
+	0x20, 0x19, 0x8a, 0x6c,
+	0x00, 0xe2, 0xba, 0x5c,
+	0x04, 0x19, 0xa4, 0x6c,
  	0x02, 0x19, 0x32, 0x00,
-	0x01, 0x84, 0x9d, 0x7c,
-	0x01, 0x1b, 0x96, 0x7c,
-	0x01, 0x1a, 0x9c, 0x6c,
-	0x00, 0xe2, 0x4c, 0x44,
-	0x80, 0x4b, 0xa2, 0x6c,
-	0x01, 0x4c, 0x9e, 0x7c,
-	0x03, 0x42, 0x4c, 0x6c,
-	0x00, 0xe2, 0xe0, 0x5b,
+	0x01, 0x84, 0xa5, 0x7c,
+	0x01, 0x1b, 0x9e, 0x7c,
+	0x01, 0x1a, 0xa4, 0x6c,
+	0x00, 0xe2, 0x54, 0x44,
+	0x80, 0x4b, 0xaa, 0x6c,
+	0x01, 0x4c, 0xa6, 0x7c,
+	0x03, 0x42, 0x54, 0x6c,
+	0x00, 0xe2, 0xda, 0x5b,
  	0x80, 0xf9, 0xf2, 0x01,
-	0x04, 0x33, 0xf7, 0x79,
-	0x00, 0xe2, 0xf6, 0x41,
-	0x08, 0x5d, 0xba, 0x6c,
+	0x04, 0x33, 0xf1, 0x79,
+	0x00, 0xe2, 0xf0, 0x41,
+	0x08, 0x5d, 0xc2, 0x6c,
  	0x00, 0xe2, 0x56, 0x58,
  	0x00, 0x30, 0x3b, 0x59,
  	0x01, 0x30, 0x01, 0x30,
-	0x02, 0x1b, 0xaa, 0x7c,
-	0x08, 0x5d, 0xb8, 0x7c,
+	0x02, 0x1b, 0xb2, 0x7c,
+	0x08, 0x5d, 0xc0, 0x7c,
  	0x03, 0x68, 0x00, 0x37,
  	0x01, 0x84, 0x09, 0x07,
-	0x80, 0x1b, 0xc4, 0x7c,
-	0x80, 0x84, 0xc5, 0x6c,
+	0x80, 0x1b, 0xcc, 0x7c,
+	0x80, 0x84, 0xcd, 0x6c,
  	0xff, 0x85, 0x0b, 0x1b,
  	0xff, 0x86, 0x0d, 0x23,
  	0xff, 0x87, 0x0f, 0x23,
@@ -624,161 +628,161 @@
  	0xf9, 0xd9, 0xb2, 0x0d,
  	0x01, 0xd9, 0xb2, 0x05,
  	0x01, 0x52, 0x48, 0x31,
-	0x20, 0xa4, 0xee, 0x7c,
-	0x20, 0x5b, 0xee, 0x7c,
-	0x80, 0xf9, 0xfc, 0x7c,
+	0x20, 0xa4, 0xf6, 0x7c,
+	0x20, 0x5b, 0xf6, 0x7c,
+	0x80, 0xf9, 0x04, 0x7d,
  	0x02, 0xea, 0xb4, 0x00,
  	0x11, 0x00, 0x00, 0x10,
-	0x04, 0x19, 0x08, 0x7d,
+	0x04, 0x19, 0x10, 0x7d,
  	0xdf, 0x19, 0x32, 0x08,
-	0x60, 0x5b, 0x08, 0x6d,
-	0x01, 0x4c, 0xe2, 0x7c,
+	0x60, 0x5b, 0x10, 0x6d,
+	0x01, 0x4c, 0xea, 0x7c,
  	0x20, 0x19, 0x32, 0x00,
  	0x01, 0xd9, 0xb2, 0x05,
  	0x02, 0xea, 0xb4, 0x00,
  	0x01, 0xd9, 0xb2, 0x05,
-	0x10, 0x5b, 0x00, 0x6d,
-	0x08, 0x5b, 0x0a, 0x6d,
-	0x20, 0x5b, 0xfa, 0x6c,
-	0x02, 0x5b, 0x2a, 0x6d,
-	0x0e, 0xea, 0x46, 0x59,
+	0x10, 0x5b, 0x08, 0x6d,
+	0x08, 0x5b, 0x12, 0x6d,
+	0x20, 0x5b, 0x02, 0x6d,
+	0x02, 0x5b, 0x32, 0x6d,
+	0x0e, 0xea, 0x40, 0x59,
  	0x0e, 0xea, 0x04, 0x00,
-	0x80, 0xf9, 0xea, 0x6c,
+	0x80, 0xf9, 0xf2, 0x6c,
  	0xdf, 0x5c, 0xb8, 0x08,
  	0x01, 0xd9, 0xb2, 0x05,
-	0x01, 0xa4, 0xe5, 0x6d,
-	0x00, 0xe2, 0x30, 0x5c,
-	0x00, 0xe2, 0x34, 0x5d,
+	0x01, 0xa4, 0xed, 0x6d,
+	0x00, 0xe2, 0x38, 0x5c,
+	0x00, 0xe2, 0x3c, 0x5d,
  	0x01, 0x90, 0x21, 0x1b,
  	0x01, 0xd9, 0xb2, 0x05,
-	0x00, 0xe2, 0x34, 0x5b,
+	0x00, 0xe2, 0x2e, 0x5b,
  	0xf3, 0x96, 0xd5, 0x19,
-	0x00, 0xe2, 0x18, 0x55,
-	0x80, 0x96, 0x19, 0x6d,
-	0x0f, 0xea, 0x46, 0x59,
+	0x00, 0xe2, 0x20, 0x55,
+	0x80, 0x96, 0x21, 0x6d,
+	0x0f, 0xea, 0x40, 0x59,
  	0x0f, 0xea, 0x04, 0x00,
-	0x00, 0xe2, 0x20, 0x45,
+	0x00, 0xe2, 0x28, 0x45,
  	0x04, 0x8c, 0xe1, 0x30,
  	0x01, 0xea, 0xf2, 0x00,
  	0x02, 0xea, 0x36, 0x00,
  	0xa8, 0xea, 0x32, 0x00,
-	0xff, 0x97, 0x27, 0x7d,
-	0x14, 0xea, 0x46, 0x59,
+	0xff, 0x97, 0x2f, 0x7d,
+	0x14, 0xea, 0x40, 0x59,
  	0x14, 0xea, 0x04, 0x00,
-	0x00, 0xe2, 0x96, 0x5d,
+	0x00, 0xe2, 0x9e, 0x5d,
  	0x01, 0xd9, 0xb2, 0x05,
  	0x09, 0x80, 0xe1, 0x30,
  	0x02, 0xea, 0x36, 0x00,
  	0xa8, 0xea, 0x32, 0x00,
-	0x00, 0xe2, 0x8e, 0x5d,
+	0x00, 0xe2, 0x96, 0x5d,
  	0x01, 0xd9, 0xb2, 0x05,
-	0x02, 0xa6, 0x44, 0x7d,
+	0x02, 0xa6, 0x4c, 0x7d,
  	0x00, 0xe2, 0x34, 0x59,
-	0x20, 0x5b, 0x52, 0x6d,
-	0xfc, 0x42, 0x3e, 0x7d,
-	0x10, 0x40, 0x40, 0x6d,
-	0x20, 0x4d, 0x42, 0x7d,
-	0x08, 0x5d, 0x52, 0x6d,
-	0x02, 0xa6, 0xe6, 0x6b,
+	0x20, 0x5b, 0x5a, 0x6d,
+	0xfc, 0x42, 0x46, 0x7d,
+	0x10, 0x40, 0x48, 0x6d,
+	0x20, 0x4d, 0x4a, 0x7d,
+	0x08, 0x5d, 0x5a, 0x6d,
+	0x02, 0xa6, 0xe0, 0x6b,
  	0x00, 0xe2, 0x34, 0x59,
-	0x20, 0x5b, 0x52, 0x6d,
-	0x01, 0x1b, 0x72, 0x6d,
-	0xfc, 0x42, 0x4e, 0x7d,
-	0x10, 0x40, 0x50, 0x6d,
+	0x20, 0x5b, 0x5a, 0x6d,
+	0x01, 0x1b, 0x7a, 0x6d,
+	0xfc, 0x42, 0x56, 0x7d,
+	0x10, 0x40, 0x58, 0x6d,
  	0x20, 0x4d, 0x64, 0x78,
  	0x08, 0x5d, 0x64, 0x78,
  	0x02, 0x19, 0x32, 0x00,
  	0x01, 0x5b, 0x40, 0x31,
-	0x00, 0xe2, 0xb2, 0x5c,
-	0x00, 0xe2, 0xa2, 0x5b,
+	0x00, 0xe2, 0xba, 0x5c,
+	0x00, 0xe2, 0x9c, 0x5b,
  	0x20, 0xea, 0xb6, 0x00,
-	0x00, 0xe2, 0xe0, 0x5b,
+	0x00, 0xe2, 0xda, 0x5b,
  	0x20, 0x5c, 0xb8, 0x00,
-	0x04, 0x19, 0x68, 0x6d,
-	0x01, 0x1a, 0x68, 0x6d,
+	0x04, 0x19, 0x70, 0x6d,
+	0x01, 0x1a, 0x70, 0x6d,
  	0x00, 0xe2, 0x34, 0x59,
  	0x01, 0x1a, 0x64, 0x78,
  	0x80, 0xf9, 0xf2, 0x01,
-	0x20, 0xa0, 0xcc, 0x7d,
+	0x20, 0xa0, 0xd4, 0x7d,
  	0xff, 0x90, 0x21, 0x1b,
-	0x08, 0x92, 0x45, 0x6b,
+	0x08, 0x92, 0x3f, 0x6b,
  	0x02, 0xea, 0xb4, 0x04,
  	0x01, 0xa4, 0x49, 0x03,
-	0x40, 0x5b, 0x82, 0x6d,
+	0x40, 0x5b, 0x8a, 0x6d,
  	0x00, 0xe2, 0x34, 0x59,
-	0x40, 0x5b, 0x82, 0x6d,
-	0x04, 0x5d, 0xe6, 0x7d,
-	0x01, 0x1a, 0xe6, 0x7d,
+	0x40, 0x5b, 0x8a, 0x6d,
+	0x04, 0x5d, 0xee, 0x7d,
+	0x01, 0x1a, 0xee, 0x7d,
  	0x20, 0x4d, 0x64, 0x78,
-	0x40, 0x5b, 0xcc, 0x7d,
-	0x04, 0x5d, 0xe6, 0x7d,
-	0x01, 0x1a, 0xe6, 0x7d,
+	0x40, 0x5b, 0xd4, 0x7d,
+	0x04, 0x5d, 0xee, 0x7d,
+	0x01, 0x1a, 0xee, 0x7d,
  	0x80, 0xf9, 0xf2, 0x01,
  	0xff, 0x90, 0x21, 0x1b,
-	0x08, 0x92, 0x45, 0x6b,
+	0x08, 0x92, 0x3f, 0x6b,
  	0x02, 0xea, 0xb4, 0x04,
  	0x00, 0xe2, 0x34, 0x59,
  	0x01, 0x1b, 0x64, 0x78,
  	0x80, 0xf9, 0xf2, 0x01,
  	0x02, 0xea, 0xb4, 0x04,
  	0x00, 0xe2, 0x34, 0x59,
-	0x01, 0x1b, 0xaa, 0x6d,
-	0x40, 0x5b, 0xb8, 0x7d,
-	0x01, 0x1b, 0xaa, 0x6d,
+	0x01, 0x1b, 0xb2, 0x6d,
+	0x40, 0x5b, 0xc0, 0x7d,
+	0x01, 0x1b, 0xb2, 0x6d,
  	0x02, 0x19, 0x32, 0x00,
  	0x01, 0x1a, 0x64, 0x78,
  	0x80, 0xf9, 0xf2, 0x01,
  	0xff, 0xea, 0x10, 0x03,
  	0x08, 0x92, 0x25, 0x03,
-	0x00, 0xe2, 0x44, 0x43,
-	0x01, 0x1a, 0xb4, 0x7d,
-	0x40, 0x5b, 0xb0, 0x7d,
-	0x01, 0x1a, 0x9e, 0x6d,
+	0x00, 0xe2, 0x3e, 0x43,
+	0x01, 0x1a, 0xbc, 0x7d,
+	0x40, 0x5b, 0xb8, 0x7d,
+	0x01, 0x1a, 0xa6, 0x6d,
  	0xfc, 0x42, 0x64, 0x78,
-	0x01, 0x1a, 0xb8, 0x6d,
-	0x10, 0xea, 0x46, 0x59,
+	0x01, 0x1a, 0xc0, 0x6d,
+	0x10, 0xea, 0x40, 0x59,
  	0x10, 0xea, 0x04, 0x00,
  	0xfc, 0x42, 0x64, 0x78,
-	0x10, 0x40, 0xbe, 0x6d,
+	0x10, 0x40, 0xc6, 0x6d,
  	0x20, 0x4d, 0x64, 0x78,
-	0x40, 0x5b, 0x9e, 0x6d,
+	0x40, 0x5b, 0xa6, 0x6d,
  	0x01, 0x1a, 0x64, 0x78,
  	0x01, 0x90, 0x21, 0x1b,
  	0x30, 0x3f, 0xc0, 0x09,
  	0x30, 0xe0, 0x64, 0x60,
  	0x40, 0x4b, 0x64, 0x68,
  	0xff, 0xea, 0x52, 0x01,
-	0xee, 0x00, 0xd4, 0x6d,
+	0xee, 0x00, 0xdc, 0x6d,
  	0x80, 0xf9, 0xf2, 0x01,
  	0xff, 0x90, 0x21, 0x1b,
  	0x02, 0xea, 0xb4, 0x00,
  	0x20, 0xea, 0x9a, 0x00,
-	0xf3, 0x42, 0xde, 0x6d,
-	0x12, 0xea, 0x46, 0x59,
+	0xf3, 0x42, 0xe6, 0x6d,
+	0x12, 0xea, 0x40, 0x59,
  	0x12, 0xea, 0x04, 0x00,
-	0x00, 0xe2, 0xf6, 0x41,
-	0x0d, 0xea, 0x46, 0x59,
+	0x00, 0xe2, 0xf0, 0x41,
+	0x0d, 0xea, 0x40, 0x59,
  	0x0d, 0xea, 0x04, 0x00,
-	0x00, 0xe2, 0xf6, 0x41,
+	0x00, 0xe2, 0xf0, 0x41,
  	0x01, 0x90, 0x21, 0x1b,
-	0x11, 0xea, 0x46, 0x59,
+	0x11, 0xea, 0x40, 0x59,
  	0x11, 0xea, 0x04, 0x00,
-	0x00, 0xe2, 0x34, 0x5b,
+	0x00, 0xe2, 0x2e, 0x5b,
  	0x08, 0x5a, 0xb4, 0x00,
-	0x00, 0xe2, 0x0c, 0x5e,
+	0x00, 0xe2, 0x14, 0x5e,
  	0xa8, 0xea, 0x32, 0x00,
  	0x00, 0xe2, 0x34, 0x59,
-	0x80, 0x1a, 0xfa, 0x7d,
-	0x00, 0xe2, 0x0c, 0x5e,
+	0x80, 0x1a, 0x02, 0x7e,
+	0x00, 0xe2, 0x14, 0x5e,
  	0x80, 0x19, 0x32, 0x00,
-	0x40, 0x5b, 0x00, 0x6e,
-	0x08, 0x5a, 0x00, 0x7e,
+	0x40, 0x5b, 0x08, 0x6e,
+	0x08, 0x5a, 0x08, 0x7e,
  	0x20, 0x4d, 0x64, 0x78,
  	0x02, 0x84, 0x09, 0x03,
-	0x40, 0x5b, 0xcc, 0x7d,
+	0x40, 0x5b, 0xd4, 0x7d,
  	0xff, 0x90, 0x21, 0x1b,
  	0x80, 0xf9, 0xf2, 0x01,
-	0x08, 0x92, 0x45, 0x6b,
+	0x08, 0x92, 0x3f, 0x6b,
  	0x02, 0xea, 0xb4, 0x04,
  	0x01, 0x38, 0xe1, 0x30,
  	0x05, 0x39, 0xe3, 0x98,
@@ -815,7 +819,7 @@
  static int
  ahd_patch21_func(struct ahd_softc *ahd)
  {
-	return ((ahd->features & AHD_RTI) == 0);
+	return ((ahd->flags & AHD_INITIATORROLE) != 0);
  }

  static ahd_patch_func_t ahd_patch20_func;
@@ -823,7 +827,7 @@
  static int
  ahd_patch20_func(struct ahd_softc *ahd)
  {
-	return ((ahd->flags & AHD_INITIATORROLE) != 0);
+	return ((ahd->flags & AHD_TARGETROLE) != 0);
  }

  static ahd_patch_func_t ahd_patch19_func;
@@ -831,7 +835,7 @@
  static int
  ahd_patch19_func(struct ahd_softc *ahd)
  {
-	return ((ahd->flags & AHD_TARGETROLE) != 0);
+	return ((ahd->bugs & AHD_AUTOFLUSH_BUG) != 0);
  }

  static ahd_patch_func_t ahd_patch18_func;
@@ -839,7 +843,7 @@
  static int
  ahd_patch18_func(struct ahd_softc *ahd)
  {
-	return ((ahd->bugs & AHD_AUTOFLUSH_BUG) != 0);
+	return ((ahd->features & AHD_NEW_DFCNTRL_OPTS) != 0);
  }

  static ahd_patch_func_t ahd_patch17_func;
@@ -847,7 +851,7 @@
  static int
  ahd_patch17_func(struct ahd_softc *ahd)
  {
-	return ((ahd->features & AHD_NEW_DFCNTRL_OPTS) != 0);
+	return ((ahd->flags & AHD_39BIT_ADDRESSING) != 0);
  }

  static ahd_patch_func_t ahd_patch16_func;
@@ -855,7 +859,7 @@
  static int
  ahd_patch16_func(struct ahd_softc *ahd)
  {
-	return ((ahd->flags & AHD_39BIT_ADDRESSING) != 0);
+	return ((ahd->flags & AHD_64BIT_ADDRESSING) != 0);
  }

  static ahd_patch_func_t ahd_patch15_func;
@@ -863,7 +867,7 @@
  static int
  ahd_patch15_func(struct ahd_softc *ahd)
  {
-	return ((ahd->flags & AHD_64BIT_ADDRESSING) != 0);
+	return ((ahd->features & AHD_NEW_DFCNTRL_OPTS) == 0);
  }

  static ahd_patch_func_t ahd_patch14_func;
@@ -871,7 +875,7 @@
  static int
  ahd_patch14_func(struct ahd_softc *ahd)
  {
-	return ((ahd->features & AHD_NEW_DFCNTRL_OPTS) == 0);
+	return ((ahd->bugs & AHD_REG_SLOW_SETTLE_BUG) != 0);
  }

  static ahd_patch_func_t ahd_patch13_func;
@@ -879,7 +883,7 @@
  static int
  ahd_patch13_func(struct ahd_softc *ahd)
  {
-	return ((ahd->bugs & AHD_REG_SLOW_SETTLE_BUG) != 0);
+	return ((ahd->features & AHD_RTI) == 0);
  }

  static ahd_patch_func_t ahd_patch12_func;
@@ -1016,136 +1020,138 @@
  	{ ahd_patch2_func, 65, 1, 2 },
  	{ ahd_patch0_func, 66, 1, 1 },
  	{ ahd_patch4_func, 102, 1, 1 },
-	{ ahd_patch2_func, 157, 6, 1 },
-	{ ahd_patch1_func, 163, 2, 1 },
-	{ ahd_patch5_func, 165, 1, 1 },
-	{ ahd_patch2_func, 174, 1, 2 },
-	{ ahd_patch0_func, 175, 1, 1 },
-	{ ahd_patch6_func, 176, 2, 2 },
-	{ ahd_patch0_func, 178, 6, 3 },
-	{ ahd_patch2_func, 181, 1, 2 },
-	{ ahd_patch0_func, 182, 1, 1 },
-	{ ahd_patch2_func, 185, 1, 2 },
-	{ ahd_patch0_func, 186, 1, 1 },
-	{ ahd_patch3_func, 188, 1, 1 },
-	{ ahd_patch7_func, 189, 3, 1 },
-	{ ahd_patch3_func, 198, 1, 1 },
-	{ ahd_patch5_func, 199, 16, 2 },
-	{ ahd_patch0_func, 215, 1, 1 },
-	{ ahd_patch8_func, 235, 2, 1 },
-	{ ahd_patch1_func, 239, 1, 2 },
-	{ ahd_patch0_func, 240, 1, 1 },
-	{ ahd_patch7_func, 243, 3, 1 },
-	{ ahd_patch1_func, 258, 1, 2 },
-	{ ahd_patch0_func, 259, 1, 1 },
-	{ ahd_patch1_func, 262, 1, 2 },
-	{ ahd_patch0_func, 263, 1, 1 },
-	{ ahd_patch2_func, 266, 1, 2 },
-	{ ahd_patch0_func, 267, 1, 1 },
-	{ ahd_patch9_func, 280, 2, 2 },
-	{ ahd_patch0_func, 282, 1, 1 },
-	{ ahd_patch1_func, 324, 1, 2 },
-	{ ahd_patch0_func, 325, 1, 1 },
-	{ ahd_patch2_func, 333, 1, 2 },
-	{ ahd_patch0_func, 334, 1, 1 },
-	{ ahd_patch2_func, 337, 1, 2 },
-	{ ahd_patch0_func, 338, 1, 1 },
+	{ ahd_patch2_func, 157, 3, 1 },
+	{ ahd_patch1_func, 160, 2, 1 },
+	{ ahd_patch5_func, 162, 1, 1 },
+	{ ahd_patch2_func, 171, 1, 2 },
+	{ ahd_patch0_func, 172, 1, 1 },
+	{ ahd_patch6_func, 173, 2, 2 },
+	{ ahd_patch0_func, 175, 6, 3 },
+	{ ahd_patch2_func, 178, 1, 2 },
+	{ ahd_patch0_func, 179, 1, 1 },
+	{ ahd_patch2_func, 182, 1, 2 },
+	{ ahd_patch0_func, 183, 1, 1 },
+	{ ahd_patch3_func, 185, 1, 1 },
+	{ ahd_patch7_func, 186, 3, 1 },
+	{ ahd_patch3_func, 195, 1, 1 },
+	{ ahd_patch5_func, 196, 16, 2 },
+	{ ahd_patch0_func, 212, 1, 1 },
+	{ ahd_patch8_func, 232, 2, 1 },
+	{ ahd_patch1_func, 236, 1, 2 },
+	{ ahd_patch0_func, 237, 1, 1 },
+	{ ahd_patch7_func, 240, 3, 1 },
+	{ ahd_patch1_func, 255, 1, 2 },
+	{ ahd_patch0_func, 256, 1, 1 },
+	{ ahd_patch1_func, 259, 1, 2 },
+	{ ahd_patch0_func, 260, 1, 1 },
+	{ ahd_patch2_func, 263, 1, 2 },
+	{ ahd_patch0_func, 264, 1, 1 },
+	{ ahd_patch9_func, 277, 2, 2 },
+	{ ahd_patch0_func, 279, 1, 1 },
+	{ ahd_patch1_func, 321, 1, 2 },
+	{ ahd_patch0_func, 322, 1, 1 },
+	{ ahd_patch2_func, 330, 1, 2 },
+	{ ahd_patch0_func, 331, 1, 1 },
+	{ ahd_patch2_func, 334, 1, 2 },
+	{ ahd_patch0_func, 335, 1, 1 },
+	{ ahd_patch1_func, 341, 1, 2 },
+	{ ahd_patch0_func, 342, 1, 1 },
  	{ ahd_patch1_func, 344, 1, 2 },
  	{ ahd_patch0_func, 345, 1, 1 },
-	{ ahd_patch1_func, 347, 1, 2 },
-	{ ahd_patch0_func, 348, 1, 1 },
+	{ ahd_patch10_func, 364, 1, 1 },
  	{ ahd_patch10_func, 367, 1, 1 },
-	{ ahd_patch10_func, 370, 1, 1 },
-	{ ahd_patch10_func, 372, 1, 1 },
-	{ ahd_patch10_func, 384, 1, 1 },
+	{ ahd_patch10_func, 369, 1, 1 },
+	{ ahd_patch10_func, 381, 1, 1 },
+	{ ahd_patch1_func, 391, 1, 2 },
+	{ ahd_patch0_func, 392, 1, 1 },
  	{ ahd_patch1_func, 394, 1, 2 },
  	{ ahd_patch0_func, 395, 1, 1 },
-	{ ahd_patch1_func, 397, 1, 2 },
-	{ ahd_patch0_func, 398, 1, 1 },
-	{ ahd_patch1_func, 406, 1, 2 },
-	{ ahd_patch0_func, 407, 1, 1 },
-	{ ahd_patch2_func, 420, 1, 2 },
-	{ ahd_patch0_func, 421, 1, 1 },
-	{ ahd_patch11_func, 451, 1, 1 },
-	{ ahd_patch1_func, 459, 1, 2 },
-	{ ahd_patch0_func, 460, 1, 1 },
-	{ ahd_patch2_func, 472, 1, 2 },
-	{ ahd_patch0_func, 473, 1, 1 },
-	{ ahd_patch12_func, 476, 6, 2 },
-	{ ahd_patch0_func, 482, 1, 1 },
-	{ ahd_patch13_func, 505, 1, 1 },
-	{ ahd_patch14_func, 514, 1, 1 },
-	{ ahd_patch15_func, 515, 1, 2 },
-	{ ahd_patch0_func, 516, 1, 1 },
-	{ ahd_patch16_func, 519, 1, 1 },
-	{ ahd_patch15_func, 520, 1, 1 },
-	{ ahd_patch17_func, 531, 1, 2 },
-	{ ahd_patch0_func, 532, 1, 1 },
-	{ ahd_patch1_func, 551, 1, 2 },
-	{ ahd_patch0_func, 552, 1, 1 },
+	{ ahd_patch1_func, 403, 1, 2 },
+	{ ahd_patch0_func, 404, 1, 1 },
+	{ ahd_patch2_func, 417, 1, 2 },
+	{ ahd_patch0_func, 418, 1, 1 },
+	{ ahd_patch11_func, 448, 1, 1 },
+	{ ahd_patch1_func, 456, 1, 2 },
+	{ ahd_patch0_func, 457, 1, 1 },
+	{ ahd_patch2_func, 469, 1, 2 },
+	{ ahd_patch0_func, 470, 1, 1 },
+	{ ahd_patch12_func, 473, 6, 2 },
+	{ ahd_patch0_func, 479, 1, 1 },
+	{ ahd_patch13_func, 500, 7, 1 },
+	{ ahd_patch14_func, 509, 1, 1 },
+	{ ahd_patch15_func, 518, 1, 1 },
+	{ ahd_patch16_func, 519, 1, 2 },
+	{ ahd_patch0_func, 520, 1, 1 },
+	{ ahd_patch17_func, 523, 1, 1 },
+	{ ahd_patch16_func, 524, 1, 1 },
+	{ ahd_patch18_func, 535, 1, 2 },
+	{ ahd_patch0_func, 536, 1, 1 },
  	{ ahd_patch1_func, 555, 1, 2 },
  	{ ahd_patch0_func, 556, 1, 1 },
-	{ ahd_patch2_func, 561, 1, 2 },
-	{ ahd_patch0_func, 562, 1, 1 },
-	{ ahd_patch2_func, 566, 1, 2 },
-	{ ahd_patch0_func, 567, 1, 1 },
-	{ ahd_patch1_func, 568, 1, 2 },
-	{ ahd_patch0_func, 569, 1, 1 },
-	{ ahd_patch2_func, 580, 1, 2 },
-	{ ahd_patch0_func, 581, 1, 1 },
-	{ ahd_patch18_func, 585, 1, 1 },
-	{ ahd_patch19_func, 590, 1, 1 },
-	{ ahd_patch20_func, 591, 2, 1 },
-	{ ahd_patch19_func, 595, 1, 2 },
-	{ ahd_patch0_func, 596, 1, 1 },
-	{ ahd_patch2_func, 599, 1, 2 },
+	{ ahd_patch1_func, 559, 1, 2 },
+	{ ahd_patch0_func, 560, 1, 1 },
+	{ ahd_patch2_func, 565, 1, 2 },
+	{ ahd_patch0_func, 566, 1, 1 },
+	{ ahd_patch2_func, 570, 1, 2 },
+	{ ahd_patch0_func, 571, 1, 1 },
+	{ ahd_patch1_func, 572, 1, 2 },
+	{ ahd_patch0_func, 573, 1, 1 },
+	{ ahd_patch2_func, 584, 1, 2 },
+	{ ahd_patch0_func, 585, 1, 1 },
+	{ ahd_patch19_func, 589, 1, 1 },
+	{ ahd_patch20_func, 594, 1, 1 },
+	{ ahd_patch21_func, 595, 2, 1 },
+	{ ahd_patch20_func, 599, 1, 2 },
  	{ ahd_patch0_func, 600, 1, 1 },
-	{ ahd_patch2_func, 615, 1, 2 },
-	{ ahd_patch0_func, 616, 1, 1 },
-	{ ahd_patch21_func, 617, 14, 1 },
-	{ ahd_patch1_func, 635, 1, 2 },
-	{ ahd_patch0_func, 636, 1, 1 },
-	{ ahd_patch21_func, 637, 1, 1 },
-	{ ahd_patch1_func, 649, 1, 2 },
-	{ ahd_patch0_func, 650, 1, 1 },
-	{ ahd_patch1_func, 657, 1, 2 },
-	{ ahd_patch0_func, 658, 1, 1 },
-	{ ahd_patch18_func, 681, 1, 1 },
-	{ ahd_patch18_func, 719, 1, 1 },
-	{ ahd_patch1_func, 730, 1, 2 },
-	{ ahd_patch0_func, 731, 1, 1 },
-	{ ahd_patch1_func, 748, 1, 2 },
-	{ ahd_patch0_func, 749, 1, 1 },
-	{ ahd_patch1_func, 751, 1, 2 },
-	{ ahd_patch0_func, 752, 1, 1 },
+	{ ahd_patch2_func, 603, 1, 2 },
+	{ ahd_patch0_func, 604, 1, 1 },
+	{ ahd_patch2_func, 619, 1, 2 },
+	{ ahd_patch0_func, 620, 1, 1 },
+	{ ahd_patch13_func, 621, 14, 1 },
+	{ ahd_patch1_func, 639, 1, 2 },
+	{ ahd_patch0_func, 640, 1, 1 },
+	{ ahd_patch13_func, 641, 1, 1 },
+	{ ahd_patch1_func, 653, 1, 2 },
+	{ ahd_patch0_func, 654, 1, 1 },
+	{ ahd_patch1_func, 661, 1, 2 },
+	{ ahd_patch0_func, 662, 1, 1 },
+	{ ahd_patch19_func, 685, 1, 1 },
+	{ ahd_patch19_func, 723, 1, 1 },
+	{ ahd_patch1_func, 734, 1, 2 },
+	{ ahd_patch0_func, 735, 1, 1 },
+	{ ahd_patch1_func, 752, 1, 2 },
+	{ ahd_patch0_func, 753, 1, 1 },
  	{ ahd_patch1_func, 755, 1, 2 },
  	{ ahd_patch0_func, 756, 1, 1 },
-	{ ahd_patch22_func, 758, 1, 2 },
-	{ ahd_patch0_func, 759, 2, 1 },
-	{ ahd_patch23_func, 762, 4, 2 },
-	{ ahd_patch0_func, 766, 1, 1 },
-	{ ahd_patch23_func, 774, 11, 1 }
+	{ ahd_patch1_func, 759, 1, 2 },
+	{ ahd_patch0_func, 760, 1, 1 },
+	{ ahd_patch22_func, 762, 1, 2 },
+	{ ahd_patch0_func, 763, 2, 1 },
+	{ ahd_patch23_func, 766, 4, 2 },
+	{ ahd_patch0_func, 770, 1, 1 },
+	{ ahd_patch23_func, 778, 11, 1 }
  };

  static struct cs {
  	uint16_t	begin;
  	uint16_t	end;
  } critical_sections[] = {
-	{ 11, 12 },
+	{ 10, 12 },
  	{ 13, 14 },
  	{ 31, 42 },
  	{ 45, 47 },
  	{ 49, 50 },
  	{ 56, 78 },
  	{ 96, 123 },
-	{ 124, 152 },
+	{ 124, 154 },
  	{ 154, 157 },
-	{ 165, 173 },
-	{ 198, 249 },
-	{ 428, 430 },
-	{ 433, 436 },
-	{ 681, 711 },
-	{ 721, 725 }
+	{ 162, 170 },
+	{ 195, 246 },
+	{ 407, 415 },
+	{ 425, 427 },
+	{ 430, 433 },
+	{ 685, 715 },
+	{ 725, 729 }
  };

  static const int num_critical_sections = sizeof(critical_sections)
==== //depot/aic7xxx/aic7xxx/aic7xxx.c#147 - /home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic7xxx_core.c ====
--- /tmp/tmp.26963.7	2004-09-27 13:31:43.736464528 -0400
+++ /home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic7xxx_core.c	2004-01-16 17:59:19.000000000 -0500
@@ -37,7 +37,7 @@
   * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
   * POSSIBILITY OF SUCH DAMAGES.
   *
- * $Id: //depot/aic7xxx/aic7xxx/aic7xxx.c#147 $
+ * $Id: //depot/aic7xxx/aic7xxx/aic7xxx.c#148 $
   */

  #ifdef __linux__
@@ -5525,7 +5525,7 @@
  				if (cstat != CAM_REQ_CMP)
  					aic_freeze_scb(scb);
  				if ((scb->flags & SCB_ACTIVE) == 0)
-					printf("Inactive SCB in Waiting List\n");
+					printf("Inactive SCB in Wait List\n");
  				ahc_done(ahc, scb);
  				/* FALLTHROUGH */
  			}
@@ -5631,8 +5631,6 @@
  				cstat = aic_get_transaction_status(scb);
  				if (cstat != CAM_REQ_CMP)
  					aic_freeze_scb(scb);
-				if ((scb->flags & SCB_ACTIVE) == 0)
-					printf("Inactive SCB in untaggedQ\n");
  				ahc_done(ahc, scb);
  				break;
  			}
==== //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic7xxx_osm.c#259 - /home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic7xxx_osm.c ====
--- /tmp/tmp.26963.8	2004-09-27 13:31:44.410362080 -0400
+++ /home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aic7xxx_osm.c	2004-01-23 13:16:04.000000000 -0500
@@ -1,7 +1,7 @@
  /*
   * Adaptec AIC7xxx device driver for Linux.
   *
- * $Id: //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic7xxx_osm.c#259 $
+ * $Id: //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic7xxx_osm.c#262 $
   *
   * Copyright (c) 1994 John Aycock
   *   The University of Calgary Department of Computer Science.
@@ -1635,16 +1635,8 @@

  	*((struct ahc_softc **)host->hostdata) = ahc;
  	ahc_lock(ahc, &s);
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0)
-	scsi_assign_lock(host, &ahc->platform_data->spin_lock);
-#elif AHC_SCSI_HAS_HOST_LOCK != 0
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,21)
-	host->host_lock = &ahc->platform_data->spin_lock;
-#else
-	host->lock = &ahc->platform_data->spin_lock;
-#endif
-#endif
  	ahc->platform_data->host = host;
+	aic_assign_host_lock(ahc);
  	host->can_queue = AHC_MAX_QUEUE;
  	host->cmd_per_lun = 2;
  	/* XXX No way to communicate the ID for multiple channels */
@@ -2450,13 +2442,13 @@
  		 * ahc host lock held.  For other kernels, the
  		 * io_request_lock must be held.
  		 */
-#if AHC_SCSI_HAS_HOST_LOCK != 0
+#if AIC_SCSI_HAS_HOST_LOCK != 0
  		ahc_lock(ahc, &s);
  #else
  		spin_lock_irqsave(&io_request_lock, s);
  #endif
  		ahc_linux_queue(cmd, ahc_linux_dv_complete);
-#if AHC_SCSI_HAS_HOST_LOCK != 0
+#if AIC_SCSI_HAS_HOST_LOCK != 0
  		ahc_unlock(ahc, &s);
  #else
  		spin_unlock_irqrestore(&io_request_lock, s);
@@ -3643,6 +3635,28 @@
  		if ((tstate->auto_negotiate & mask) != 0) {
  			scb->flags |= SCB_AUTO_NEGOTIATE;
  			scb->hscb->control |= MK_MESSAGE;
+		} else if (cmd->cmnd[0] == INQUIRY
+			&& (tinfo->curr.offset != 0
+			 || tinfo->curr.width != MSG_EXT_WDTR_BUS_8_BIT)) {
+			/*
+			 * The SCSI spec requires inquiry
+			 * commands to complete without
+			 * reporting unit attention conditions.
+			 * Because of this, an inquiry command
+			 * that occurs just after a device is
+			 * reset will result in a data phase
+			 * with mismatched negotiated rates.
+			 * The core already forces a renegotiation
+			 * for reset events that are visible to
+			 * our controller or that we initiate,
+			 * but a third party device reset or a
+			 * hot-plug insertion can still cause this
+			 * issue.  Therefore, we force a re-negotiation
+			 * for every inquiry command unless we
+			 * are async.
+			 */
+			scb->flags |= SCB_NEGOTIATE;
+			scb->hscb->control |= MK_MESSAGE;
  		}

  		if ((dev->flags & (AIC_DEV_Q_TAGGED|AIC_DEV_Q_BASIC)) != 0) {
@@ -4068,13 +4082,17 @@
  		untagged_q = &(ahc->untagged_queues[target_offset]);
  		TAILQ_REMOVE(untagged_q, scb, links.tqe);
  		ahc_run_untagged_queue(ahc, untagged_q);
-	}
-
-	if ((scb->flags & SCB_ACTIVE) == 0) {
+	} else if ((scb->flags & SCB_ACTIVE) == 0) {
+		/*
+		 * Transactions aborted from the untagged queue may
+		 * not have been dispatched to the controller, so
+		 * only check the SCB_ACTIVE flag for tagged transactions.
+		 */
  		printf("SCB %d done'd twice\n", scb->hscb->tag);
  		ahc_dump_card_state(ahc);
  		panic("Stopping for safety");
  	}
+
  	cmd = scb->io_ctx;
  	dev = scb->platform_data->dev;
  	dev->active--;
==== //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aiclib.h#31 - /home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aiclib.h ====
--- /tmp/tmp.26963.9	2004-09-27 13:31:44.733312984 -0400
+++ /home/luben/projects/linux/2.6/linux-2.5/drivers/scsi/aic7xxx/aiclib.h	2004-01-23 13:30:13.000000000 -0500
@@ -357,13 +357,14 @@
  #define AIC_SCSI_HAS_HOST_LOCK 1

  #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0)
-#define aic_assign_host_lock(aic)	\
-	scsi_assign_lock((aic)->host, &(aic)->spin_lock);
+#define aic_assign_host_lock(aic)			\
+    scsi_assign_lock((aic)->platform_data->host,	\
+		     &(aic)->platform_data->spin_lock);
  #elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,21) \
     && defined(RED_HAT_LINUX_KERNEL)
-#define aic_assign_host_lock(aic)			\
-do {							\
-        (aic)->host->host_lock = &(aic)->spin_lock;	\
+#define aic_assign_host_lock(aic)					\
+do {									\
+        (aic)->host->host_lock = &(aic)->platform_data->spin_lock;	\
  } while (0)
  #else
  #define aic_assign_host_lock(aic)		\




^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2004-09-28 13:06 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-09-28 13:06 [patch 16/28] Sync up drivers/scsi/aic7xxx Luben Tuikov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).