All of lore.kernel.org
 help / color / mirror / Atom feed
From: Luben Tuikov <luben_tuikov@adaptec.com>
To: SCSI Mailing List <linux-scsi@vger.kernel.org>
Subject: [patch 16/28] Sync up drivers/scsi/aic7xxx
Date: Tue, 28 Sep 2004 09:06:24 -0400	[thread overview]
Message-ID: <415961D0.4020409@adaptec.com> (raw)

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)		\




                 reply	other threads:[~2004-09-28 13:06 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=415961D0.4020409@adaptec.com \
    --to=luben_tuikov@adaptec.com \
    --cc=linux-scsi@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.