changeset 4332:ba42ba9a9eac

6555223 aac source code needs cstyle fix
author pl196000
date Sun, 27 May 2007 19:16:54 -0700
parents f784727d3d6a
children 8f4984b4f93e
files usr/src/uts/intel/io/aac/aac.c usr/src/uts/intel/io/aac/aac.h usr/src/uts/intel/io/aac/aac_ioctl.c usr/src/uts/intel/io/aac/aac_ioctl.h usr/src/uts/intel/io/aac/aac_regs.h
diffstat 5 files changed, 1210 insertions(+), 1178 deletions(-) [+]
line wrap: on
line diff
--- a/usr/src/uts/intel/io/aac/aac.c	Sat May 26 19:40:51 2007 -0700
+++ b/usr/src/uts/intel/io/aac/aac.c	Sun May 27 19:16:54 2007 -0700
@@ -66,9 +66,11 @@
 #define	AAC_SCSA_MINOR(x)	((x) & TRAN_MINOR_MASK)
 #define	AAC_IS_SCSA_NODE(x)	((x) == DEVCTL_MINOR || (x) == SCSI_MINOR)
 
-#define	AACOFFSET(type, member) ((size_t)(&((type *)0)->member))
+#define	AACOFFSET(type, member)	((size_t)(&((type *)0)->member))
 #define	AAC_TRAN2SOFTS(tran) ((struct aac_softstate *)(tran)->tran_hba_private)
-#define	PKT2AC(pkt) ((struct aac_cmd *)(pkt)->pkt_ha_private)
+#define	AAC_DIP2TRAN(dip)	((scsi_hba_tran_t *)ddi_get_driver_private(dip))
+#define	AAC_DIP2SOFTS(dip)	(AAC_TRAN2SOFTS(AAC_DIP2TRAN(dip)))
+#define	PKT2AC(pkt)		((struct aac_cmd *)(pkt)->pkt_ha_private)
 #define	AAC_BUSYWAIT(cond, timeout /* in millisecond */) \
 	do { \
 		int count = 0; \
@@ -81,7 +83,8 @@
 		} \
 _NOTE(CONSTCOND) } while (0)
 
-#define	AAC_SENSE_DATA_DESCR_LEN (sizeof (struct scsi_descr_sense_hdr) + \
+#define	AAC_SENSE_DATA_DESCR_LEN \
+	(sizeof (struct scsi_descr_sense_hdr) + \
 	sizeof (struct scsi_information_sense_descr))
 /* NOTE: GETG4ADDRTL(cdbp) is int32_t */
 #define	AAC_GETGXADDR(cmdlen, cdbp) \
@@ -110,12 +113,14 @@
 	(sizeof (aac_cards) / sizeof (struct aac_card_type) - 1)
 #define	CARD_IS_UNKNOWN(i)	(i == AAC_UNKNOWN_CARD)
 #define	BUF_IS_READ(bp)		((bp)->b_flags & B_READ)
-#define	AAC_IS_Q_EMPTY(q) (((q)->q_head == NULL) ? 1 : 0)
-
-#define	PCI_MEM_GET32(softs, off) ddi_get32((softs)->pci_mem_handle, \
-	(uint32_t *)((softs)->pci_mem_base_addr + (off)))
-#define	PCI_MEM_PUT32(softs, off, val)	ddi_put32((softs)->pci_mem_handle, \
-	(uint32_t *)((softs)->pci_mem_base_addr + (off)), (uint32_t)(val))
+#define	AAC_IS_Q_EMPTY(q)	((q)->q_head == NULL)
+
+#define	PCI_MEM_GET32(softs, off) \
+	ddi_get32((softs)->pci_mem_handle, \
+	    (uint32_t *)((softs)->pci_mem_base_addr + (off)))
+#define	PCI_MEM_PUT32(softs, off, val) \
+	ddi_put32((softs)->pci_mem_handle, \
+	    (uint32_t *)((softs)->pci_mem_base_addr + (off)), (uint32_t)(val))
 
 #define	AAC_ENABLE_INTR(softs) \
 	do { \
@@ -124,19 +129,19 @@
 		else \
 			PCI_MEM_PUT32(softs, AAC_OIMR, ~AAC_DB_INTR_BITS); \
 _NOTE(CONSTCOND) } while (0)
-#define	AAC_DISABLE_INTR(softs)	PCI_MEM_PUT32(softs, AAC_OIMR, ~0)
-#define	AAC_STATUS_CLR(softs, mask) PCI_MEM_PUT32(softs, AAC_ODBR, mask)
-#define	AAC_STATUS_GET(softs) PCI_MEM_GET32(softs, AAC_ODBR)
-#define	AAC_NOTIFY(softs, val) PCI_MEM_PUT32(softs, AAC_IDBR, val)
-#define	AAC_OUTB_GET(softs) PCI_MEM_GET32(softs, AAC_OQUE)
-#define	AAC_OUTB_SET(softs, val) PCI_MEM_PUT32(softs, AAC_OQUE, val)
+#define	AAC_DISABLE_INTR(softs)		PCI_MEM_PUT32(softs, AAC_OIMR, ~0)
+#define	AAC_STATUS_CLR(softs, mask)	PCI_MEM_PUT32(softs, AAC_ODBR, mask)
+#define	AAC_STATUS_GET(softs)		PCI_MEM_GET32(softs, AAC_ODBR)
+#define	AAC_NOTIFY(softs, val)		PCI_MEM_PUT32(softs, AAC_IDBR, val)
+#define	AAC_OUTB_GET(softs)		PCI_MEM_GET32(softs, AAC_OQUE)
+#define	AAC_OUTB_SET(softs, val)	PCI_MEM_PUT32(softs, AAC_OQUE, val)
 #define	AAC_FWSTATUS_GET(softs)	\
-	((softs)->aac_if.aif_get_fwstatus((softs)))
+	((softs)->aac_if.aif_get_fwstatus(softs))
 #define	AAC_MAILBOX_GET(softs, mb) \
 	((softs)->aac_if.aif_get_mailbox((softs), (mb)))
 #define	AAC_MAILBOX_SET(softs, cmd, arg0, arg1, arg2, arg3) \
 	((softs)->aac_if.aif_set_mailbox((softs), (cmd), \
-	(arg0), (arg1), (arg2), (arg3)))
+	    (arg0), (arg1), (arg2), (arg3)))
 
 #define	AAC_IOCMD_SYNC		(1 << 0)
 #define	AAC_IOCMD_ASYNC		(1 << 1)
@@ -150,22 +155,11 @@
 static int aac_rx_get_fwstatus(struct aac_softstate *);
 static int aac_rx_get_mailbox(struct aac_softstate *, int);
 static void aac_rx_set_mailbox(struct aac_softstate *, uint32_t,
-	uint32_t, uint32_t, uint32_t, uint32_t);
-static struct aac_interface aac_rx_interface = {
-	aac_rx_get_fwstatus,
-	aac_rx_get_mailbox,
-	aac_rx_set_mailbox
-};
-
+    uint32_t, uint32_t, uint32_t, uint32_t);
 static int aac_rkt_get_fwstatus(struct aac_softstate *);
 static int aac_rkt_get_mailbox(struct aac_softstate *, int);
 static void aac_rkt_set_mailbox(struct aac_softstate *, uint32_t, uint32_t,
-	uint32_t, uint32_t, uint32_t);
-static struct aac_interface aac_rkt_interface = {
-	aac_rkt_get_fwstatus,
-	aac_rkt_get_mailbox,
-	aac_rkt_set_mailbox
-};
+    uint32_t, uint32_t, uint32_t);
 
 /*
  * SCSA function prototypes
@@ -189,7 +183,7 @@
 static int aac_check_firmware(struct aac_softstate *);
 static int aac_common_attach(struct aac_softstate *);
 static void aac_common_detach(struct aac_softstate *);
-static int aac_get_container(struct aac_softstate *);
+static int aac_get_containers(struct aac_softstate *);
 static int aac_alloc_comm_space(struct aac_softstate *);
 static int aac_setup_comm_space(struct aac_softstate *);
 static void aac_free_comm_space(struct aac_softstate *);
@@ -199,11 +193,11 @@
  * Sync FIB operation functions
  */
 int aac_sync_mbcommand(struct aac_softstate *, uint32_t, uint32_t,
-	uint32_t, uint32_t, uint32_t, uint32_t *);
+    uint32_t, uint32_t, uint32_t, uint32_t *);
 static int aac_sync_fib(struct aac_softstate *, uint32_t, struct aac_fib *,
-	uint16_t);
+    uint16_t);
 static struct aac_fib *aac_grab_sync_fib(struct aac_softstate *,
-	int (*)(caddr_t));
+    int (*)(caddr_t));
 static void aac_release_sync_fib(struct aac_softstate *);
 
 /*
@@ -213,15 +207,15 @@
 static struct aac_cmd *aac_cmd_dequeue(struct aac_cmd_queue *);
 
 /*
- * fib queue operation functions
+ * FIB queue operation functions
  */
 static int aac_fib_enqueue(struct aac_softstate *, int, struct aac_fib *);
 static int aac_resp_enqueue(struct aac_softstate *, int, struct aac_fib *);
 static int aac_fib_dequeue(struct aac_softstate *, int, struct aac_fib **,
-	struct aac_cmd **);
+    struct aac_cmd **);
 
 /*
- * slot operation functions
+ * Slot operation functions
  */
 static int aac_create_slots(struct aac_softstate *);
 static void aac_destroy_slots(struct aac_softstate *);
@@ -318,119 +312,137 @@
  */
 static struct aac_card_type aac_cards[] = {
 	{0x1028, 0x1, 0x1028, 0x1, AAC_HWIF_I960RX,
-		AAC_FLAGS_PERC, AAC_TYPE_SCSI, "Dell", "PERC 3/Di"},
+	    AAC_FLAGS_PERC, AAC_TYPE_SCSI, "Dell", "PERC 3/Di"},
 	{0x1028, 0x2, 0x1028, 0x2, AAC_HWIF_I960RX,
-		AAC_FLAGS_PERC, AAC_TYPE_SCSI, "Dell", "PERC 3/Di"},
+	    AAC_FLAGS_PERC, AAC_TYPE_SCSI, "Dell", "PERC 3/Di"},
 	{0x1028, 0x3, 0x1028, 0x3, AAC_HWIF_I960RX,
-		AAC_FLAGS_PERC, AAC_TYPE_SCSI, "Dell", "PERC 3/Si"},
+	    AAC_FLAGS_PERC, AAC_TYPE_SCSI, "Dell", "PERC 3/Si"},
 	{0x1028, 0x8, 0x1028, 0xcf, AAC_HWIF_I960RX,
-		AAC_FLAGS_PERC, AAC_TYPE_SCSI, "Dell", "PERC 3/Di"},
+	    AAC_FLAGS_PERC, AAC_TYPE_SCSI, "Dell", "PERC 3/Di"},
 	{0x1028, 0x4, 0x1028, 0xd0, AAC_HWIF_I960RX,
-		AAC_FLAGS_PERC, AAC_TYPE_SCSI, "Dell", "PERC 3/Si"},
+	    AAC_FLAGS_PERC, AAC_TYPE_SCSI, "Dell", "PERC 3/Si"},
 	{0x1028, 0x2, 0x1028, 0xd1, AAC_HWIF_I960RX,
-		AAC_FLAGS_PERC, AAC_TYPE_SCSI, "Dell", "PERC 3/Di"},
+	    AAC_FLAGS_PERC, AAC_TYPE_SCSI, "Dell", "PERC 3/Di"},
 	{0x1028, 0x2, 0x1028, 0xd9, AAC_HWIF_I960RX,
-		AAC_FLAGS_PERC, AAC_TYPE_SCSI, "Dell", "PERC 3/Di"},
+	    AAC_FLAGS_PERC, AAC_TYPE_SCSI, "Dell", "PERC 3/Di"},
 	{0x1028, 0xa, 0x1028, 0x106, AAC_HWIF_I960RX,
-		AAC_FLAGS_PERC, AAC_TYPE_SCSI, "Dell", "PERC 3/Di"},
+	    AAC_FLAGS_PERC, AAC_TYPE_SCSI, "Dell", "PERC 3/Di"},
 	{0x1028, 0xa, 0x1028, 0x11b, AAC_HWIF_I960RX,
-		AAC_FLAGS_PERC, AAC_TYPE_SCSI, "Dell", "PERC 3/Di"},
+	    AAC_FLAGS_PERC, AAC_TYPE_SCSI, "Dell", "PERC 3/Di"},
 	{0x1028, 0xa, 0x1028, 0x121, AAC_HWIF_I960RX,
-		AAC_FLAGS_PERC, AAC_TYPE_SCSI, "Dell", "PERC 3/Di"},
+	    AAC_FLAGS_PERC, AAC_TYPE_SCSI, "Dell", "PERC 3/Di"},
 	{0x9005, 0x285, 0x1028, 0x287, AAC_HWIF_I960RX,
-		AAC_FLAGS_NO4GB | AAC_FLAGS_256FIBS, AAC_TYPE_SCSI,
-		"Dell", "PERC 320/DC"},
+	    AAC_FLAGS_NO4GB | AAC_FLAGS_256FIBS, AAC_TYPE_SCSI,
+	    "Dell", "PERC 320/DC"},
 	{0x9005, 0x285, 0x1028, 0x291, AAC_HWIF_I960RX,
-		AAC_FLAGS_NO4GB, AAC_TYPE_SATA, "Dell", "CERC SR2"},
+	    AAC_FLAGS_NO4GB, AAC_TYPE_SATA, "Dell", "CERC SR2"},
 
 	{0x9005, 0x285, 0x1014, 0x2f2, AAC_HWIF_I960RX,
-		0, AAC_TYPE_SCSI, "IBM", "ServeRAID 8i"},
+	    0, AAC_TYPE_SCSI, "IBM", "ServeRAID 8i"},
 	{0x9005, 0x285, 0x1014, 0x34d, AAC_HWIF_I960RX,
-		0, AAC_TYPE_SAS, "IBM", "ServeRAID 8s"},
+	    0, AAC_TYPE_SAS, "IBM", "ServeRAID 8s"},
 	{0x9005, 0x286, 0x1014, 0x9580, AAC_HWIF_RKT,
-		0, AAC_TYPE_SAS, "IBM", "ServeRAID 8k"},
+	    0, AAC_TYPE_SAS, "IBM", "ServeRAID 8k"},
 
 	{0x9005, 0x285, 0x103c, 0x3227, AAC_HWIF_I960RX,
-		AAC_FLAGS_NO4GB, AAC_TYPE_SATA, "Adaptec", "2610SA"},
+	    AAC_FLAGS_NO4GB, AAC_TYPE_SATA, "Adaptec", "2610SA"},
 
 	{0x9005, 0x285, 0x9005, 0x285, AAC_HWIF_I960RX,
-		AAC_FLAGS_NO4GB | AAC_FLAGS_256FIBS, AAC_TYPE_SCSI,
-		"Adaptec", "2200S"},
+	    AAC_FLAGS_NO4GB | AAC_FLAGS_256FIBS, AAC_TYPE_SCSI,
+	    "Adaptec", "2200S"},
 	{0x9005, 0x285, 0x9005, 0x286, AAC_HWIF_I960RX,
-		AAC_FLAGS_NO4GB | AAC_FLAGS_256FIBS, AAC_TYPE_SCSI,
-		"Adaptec", "2120S"},
+	    AAC_FLAGS_NO4GB | AAC_FLAGS_256FIBS, AAC_TYPE_SCSI,
+	    "Adaptec", "2120S"},
 	{0x9005, 0x285, 0x9005, 0x287, AAC_HWIF_I960RX,
-		AAC_FLAGS_NO4GB | AAC_FLAGS_256FIBS, AAC_TYPE_SCSI,
-		"Adaptec", "2200S"},
+	    AAC_FLAGS_NO4GB | AAC_FLAGS_256FIBS, AAC_TYPE_SCSI,
+	    "Adaptec", "2200S"},
 	{0x9005, 0x285, 0x9005, 0x288, AAC_HWIF_I960RX,
-		0, AAC_TYPE_SCSI, "Adaptec", "3230S"},
+	    0, AAC_TYPE_SCSI, "Adaptec", "3230S"},
 	{0x9005, 0x285, 0x9005, 0x289, AAC_HWIF_I960RX,
-		0, AAC_TYPE_SCSI, "Adaptec", "3240S"},
+	    0, AAC_TYPE_SCSI, "Adaptec", "3240S"},
 	{0x9005, 0x285, 0x9005, 0x28a, AAC_HWIF_I960RX,
-		0, AAC_TYPE_SCSI, "Adaptec", "2020ZCR"},
+	    0, AAC_TYPE_SCSI, "Adaptec", "2020ZCR"},
 	{0x9005, 0x285, 0x9005, 0x28b, AAC_HWIF_I960RX,
-		0, AAC_TYPE_SCSI, "Adaptec", "2025ZCR"},
+	    0, AAC_TYPE_SCSI, "Adaptec", "2025ZCR"},
 	{0x9005, 0x286, 0x9005, 0x28c, AAC_HWIF_RKT,
-		0, AAC_TYPE_SCSI, "Adaptec", "2230S"},
+	    0, AAC_TYPE_SCSI, "Adaptec", "2230S"},
 	{0x9005, 0x286, 0x9005, 0x28d, AAC_HWIF_RKT,
-		0, AAC_TYPE_SCSI, "Adaptec", "2130S"},
+	    0, AAC_TYPE_SCSI, "Adaptec", "2130S"},
 	{0x9005, 0x285, 0x9005, 0x28e, AAC_HWIF_I960RX,
-		0, AAC_TYPE_SATA, "Adaptec", "2020SA"},
+	    0, AAC_TYPE_SATA, "Adaptec", "2020SA"},
 	{0x9005, 0x285, 0x9005, 0x28f, AAC_HWIF_I960RX,
-		0, AAC_TYPE_SATA, "Adaptec", "2025SA"},
+	    0, AAC_TYPE_SATA, "Adaptec", "2025SA"},
 	{0x9005, 0x285, 0x9005, 0x290, AAC_HWIF_I960RX,
-		AAC_FLAGS_NO4GB, AAC_TYPE_SATA, "Adaptec", "2410SA"},
+	    AAC_FLAGS_NO4GB, AAC_TYPE_SATA, "Adaptec", "2410SA"},
 	{0x9005, 0x285, 0x9005, 0x292, AAC_HWIF_I960RX,
-		AAC_FLAGS_NO4GB, AAC_TYPE_SATA, "Adaptec", "2810SA"},
+	    AAC_FLAGS_NO4GB, AAC_TYPE_SATA, "Adaptec", "2810SA"},
 	{0x9005, 0x285, 0x9005, 0x293, AAC_HWIF_I960RX,
-		AAC_FLAGS_NO4GB, AAC_TYPE_SATA, "Adaptec", "21610SA"},
+	    AAC_FLAGS_NO4GB, AAC_TYPE_SATA, "Adaptec", "21610SA"},
 	{0x9005, 0x285, 0x9005, 0x294, AAC_HWIF_I960RX,
-		0, AAC_TYPE_SATA, "Adaptec", "2026ZCR"},
+	    0, AAC_TYPE_SATA, "Adaptec", "2026ZCR"},
 	{0x9005, 0x285, 0x9005, 0x296, AAC_HWIF_I960RX,
-		0, AAC_TYPE_SCSI, "Adaptec", "2240S"},
+	    0, AAC_TYPE_SCSI, "Adaptec", "2240S"},
 	{0x9005, 0x285, 0x9005, 0x297, AAC_HWIF_I960RX,
-		0, AAC_TYPE_SAS, "Adaptec", "4005SAS"},
+	    0, AAC_TYPE_SAS, "Adaptec", "4005SAS"},
 	{0x9005, 0x285, 0x9005, 0x298, AAC_HWIF_I960RX,
-		0, AAC_TYPE_SAS, "Adaptec", "RAID 4000"},
+	    0, AAC_TYPE_SAS, "Adaptec", "RAID 4000"},
 	{0x9005, 0x285, 0x9005, 0x299, AAC_HWIF_I960RX,
-		0, AAC_TYPE_SAS, "Adaptec", "4800SAS"},
+	    0, AAC_TYPE_SAS, "Adaptec", "4800SAS"},
 	{0x9005, 0x285, 0x9005, 0x29a, AAC_HWIF_I960RX,
-		0, AAC_TYPE_SAS, "Adaptec", "4805SAS"},
+	    0, AAC_TYPE_SAS, "Adaptec", "4805SAS"},
 	{0x9005, 0x286, 0x9005, 0x29b, AAC_HWIF_RKT,
-		0, AAC_TYPE_SATA, "Adaptec", "2820SA"},
+	    0, AAC_TYPE_SATA, "Adaptec", "2820SA"},
 	{0x9005, 0x286, 0x9005, 0x29c, AAC_HWIF_RKT,
-		0, AAC_TYPE_SATA, "Adaptec", "2620SA"},
+	    0, AAC_TYPE_SATA, "Adaptec", "2620SA"},
 	{0x9005, 0x286, 0x9005, 0x29d, AAC_HWIF_RKT,
-		0, AAC_TYPE_SATA, "Adaptec", "2420SA"},
+	    0, AAC_TYPE_SATA, "Adaptec", "2420SA"},
 	{0x9005, 0x286, 0x9005, 0x29e, AAC_HWIF_RKT,
-		0, AAC_TYPE_SATA, "ICP", "9024RO"},
+	    0, AAC_TYPE_SATA, "ICP", "9024RO"},
 	{0x9005, 0x286, 0x9005, 0x29f, AAC_HWIF_RKT,
-		0, AAC_TYPE_SATA, "ICP", "9014RO"},
+	    0, AAC_TYPE_SATA, "ICP", "9014RO"},
 	{0x9005, 0x286, 0x9005, 0x2a0, AAC_HWIF_RKT,
-		0, AAC_TYPE_SATA, "ICP", "9047MA"},
+	    0, AAC_TYPE_SATA, "ICP", "9047MA"},
 	{0x9005, 0x286, 0x9005, 0x2a1, AAC_HWIF_RKT,
-		0, AAC_TYPE_SATA, "ICP", "9087MA"},
+	    0, AAC_TYPE_SATA, "ICP", "9087MA"},
 	{0x9005, 0x285, 0x9005, 0x2a4, AAC_HWIF_I960RX,
-		0, AAC_TYPE_SAS, "ICP", "9085LI"},
+	    0, AAC_TYPE_SAS, "ICP", "9085LI"},
 	{0x9005, 0x285, 0x9005, 0x2a5, AAC_HWIF_I960RX,
-		0, AAC_TYPE_SAS, "ICP", "5085BR"},
+	    0, AAC_TYPE_SAS, "ICP", "5085BR"},
 	{0x9005, 0x286, 0x9005, 0x2a6, AAC_HWIF_RKT,
-		0, AAC_TYPE_SATA, "ICP", "9067MA"},
+	    0, AAC_TYPE_SATA, "ICP", "9067MA"},
 	{0x9005, 0x285, 0x9005, 0x2b5, AAC_HWIF_I960RX,
-		0, AAC_TYPE_SAS, "Adaptec", "RAID 5445"},
+	    0, AAC_TYPE_SAS, "Adaptec", "RAID 5445"},
 	{0x9005, 0x285, 0x9005, 0x2b6, AAC_HWIF_I960RX,
-		0, AAC_TYPE_SAS, "Adaptec", "RAID 5805"},
+	    0, AAC_TYPE_SAS, "Adaptec", "RAID 5805"},
 	{0x9005, 0x285, 0x9005, 0x2b7, AAC_HWIF_I960RX,
-		0, AAC_TYPE_SAS, "Adaptec", "RAID 5085"},
+	    0, AAC_TYPE_SAS, "Adaptec", "RAID 5085"},
 	{0x9005, 0x285, 0x9005, 0x2b8, AAC_HWIF_I960RX,
-		0, AAC_TYPE_SAS, "ICP", "RAID ICP5445SL"},
+	    0, AAC_TYPE_SAS, "ICP", "RAID ICP5445SL"},
 	{0x9005, 0x285, 0x9005, 0x2b9, AAC_HWIF_I960RX,
-		0, AAC_TYPE_SAS, "ICP", "RAID ICP5085SL"},
+	    0, AAC_TYPE_SAS, "ICP", "RAID ICP5085SL"},
 	{0x9005, 0x285, 0x9005, 0x2ba, AAC_HWIF_I960RX,
-		0, AAC_TYPE_SAS, "ICP", "RAID ICP5805SL"},
+	    0, AAC_TYPE_SAS, "ICP", "RAID ICP5805SL"},
 
 	{0, 0, 0, 0, AAC_HWIF_UNKNOWN,
-		0, AAC_TYPE_UNKNOWN, "Unknown", "AAC card"},
+	    0, AAC_TYPE_UNKNOWN, "Unknown", "AAC card"},
+};
+
+/*
+ * Hardware access functions for i960 based cards
+ */
+static struct aac_interface aac_rx_interface = {
+	aac_rx_get_fwstatus,
+	aac_rx_get_mailbox,
+	aac_rx_set_mailbox
+};
+
+/*
+ * Hardware access functions for Rocket based cards
+ */
+static struct aac_interface aac_rkt_interface = {
+	aac_rkt_get_fwstatus,
+	aac_rkt_get_mailbox,
+	aac_rkt_set_mailbox
 };
 
 ddi_device_acc_attr_t aac_acc_attr = {
@@ -457,63 +469,63 @@
  * Default aac dma attributes
  */
 static ddi_dma_attr_t aac_buf_dma_attr = {
-		DMA_ATTR_V0,
-		0x2000ull,	/* lowest usable address */
-				/* (2200 and 2120 cannot do DMA below 8192) */
-		0xffffffffull,	/* high DMA address range */
-		0x0000ffffull,	/* DMA counter register */
-		AAC_DMA_ALIGN,	/* DMA address alignment */
-		1,		/* DMA burstsizes */
-		1,		/* min effective DMA size */
-		0xffffffffull,	/* max DMA xfer size */
-		0xffffffffull,	/* segment boundary */
-		AAC_NSEG,	/* s/g list length */
-		AAC_BLK_SIZE,	/* granularity of device */
-		0,		/* DMA transfer flags */
+	DMA_ATTR_V0,
+	0x2000ull,	/* lowest usable address */
+			/* (2200 and 2120 cannot do DMA below 8192) */
+	0xffffffffull,	/* high DMA address range */
+	0x0000ffffull,	/* DMA counter register */
+	AAC_DMA_ALIGN,	/* DMA address alignment */
+	1,		/* DMA burstsizes */
+	1,		/* min effective DMA size */
+	0xffffffffull,	/* max DMA xfer size */
+	0xffffffffull,	/* segment boundary */
+	AAC_NSEG,	/* s/g list length */
+	AAC_BLK_SIZE,	/* granularity of device */
+	0,		/* DMA transfer flags */
 };
 
 static ddi_dma_attr_t aac_addr_dma_attr = {
-		DMA_ATTR_V0,
-		0x2000ull,	/* lowest usable address */
-				/* (2200 and 2120 cannot do DMA below 8192) */
-		0x7fffffffull,	/* high DMA address range */
-		0x0000ffffull,	/* DMA counter register */
-		AAC_DMA_ALIGN,	/* DMA address alignment */
-		1,		/* DMA burstsizes */
-		1,		/* min effective DMA size */
-		0x7fffffffull,	/* max DMA xfer size */
-		0x7fffffffull,	/* segment boundary */
-		1,		/* s/g list length */
-		1,		/* granularity of device */
-		0,		/* DMA transfer flags */
+	DMA_ATTR_V0,
+	0x2000ull,	/* lowest usable address */
+			/* (2200 and 2120 cannot do DMA below 8192) */
+	0x7fffffffull,	/* high DMA address range */
+	0x0000ffffull,	/* DMA counter register */
+	AAC_DMA_ALIGN,	/* DMA address alignment */
+	1,		/* DMA burstsizes */
+	1,		/* min effective DMA size */
+	0x7fffffffull,	/* max DMA xfer size */
+	0x7fffffffull,	/* segment boundary */
+	1,		/* s/g list length */
+	1,		/* granularity of device */
+	0,		/* DMA transfer flags */
 };
 
 int
 _init(void)
 {
-	int retval = 0;
+	int rval = 0;
 
 	DBCALLED(1);
 
-	if ((retval = ddi_soft_state_init((void *)&aac_softstatep,
-		sizeof (struct aac_softstate), 0)) != 0)
+	if ((rval = ddi_soft_state_init((void *)&aac_softstatep,
+	    sizeof (struct aac_softstate), 0)) != 0)
 		goto error;
 
-	if ((retval = scsi_hba_init(&aac_modlinkage)) != 0) {
-		ddi_soft_state_fini((void*)&aac_softstatep);
+	if ((rval = scsi_hba_init(&aac_modlinkage)) != 0) {
+		ddi_soft_state_fini((void *)&aac_softstatep);
 		goto error;
 	}
 
-	if ((retval = mod_install(&aac_modlinkage)) != 0) {
-		ddi_soft_state_fini((void*)&aac_softstatep);
+	if ((rval = mod_install(&aac_modlinkage)) != 0) {
+		ddi_soft_state_fini((void *)&aac_softstatep);
 		scsi_hba_fini(&aac_modlinkage);
 		goto error;
 	}
-	return (retval);
+	return (rval);
 
 error:
 	AACDB_PRINT((CE_WARN, "Mod init error!"));
-	return (retval);
+	return (rval);
 }
 
 int
@@ -530,29 +542,28 @@
 int
 _fini(void)
 {
-	int err;
+	int rval;
 
 	DBCALLED(1);
 
-	if ((err = mod_remove(&aac_modlinkage)) != 0)
+	if ((rval = mod_remove(&aac_modlinkage)) != 0)
 		goto error;
 
 	scsi_hba_fini(&aac_modlinkage);
-	ddi_soft_state_fini((void*)&aac_softstatep);
+	ddi_soft_state_fini((void *)&aac_softstatep);
 
 	return (0);
 
 error:
 	AACDB_PRINT((CE_WARN, "AAC is busy, cannot unload!"));
-	return (err);
+	return (rval);
 }
 
 static int
 aac_attach(dev_info_t *dip, ddi_attach_cmd_t cmd)
 {
 	int instance;
-	struct aac_softstate  *softs;
-	scsi_hba_tran_t *tran;
+	struct aac_softstate *softs;
 	int attach_state = 0;
 
 	DBCALLED(1);
@@ -591,9 +602,9 @@
 
 	/* Map PCI mem space */
 	if (ddi_regs_map_setup(dip, 1,
-		(caddr_t *)&softs->pci_mem_base_addr, 0,
-		softs->map_size_min, &aac_acc_attr,
-		&softs->pci_mem_handle) != DDI_SUCCESS)
+	    (caddr_t *)&softs->pci_mem_base_addr, 0,
+	    softs->map_size_min, &aac_acc_attr,
+	    &softs->pci_mem_handle) != DDI_SUCCESS)
 		goto error;
 
 	softs->map_size = softs->map_size_min;
@@ -603,37 +614,37 @@
 
 	if (ddi_intr_hilevel(dip, 0)) {
 		AACDB_PRINT((CE_WARN,
-			"High level interrupt is not supported!"));
+		    "High level interrupt is not supported!"));
 		goto error;
 	}
 
 	/* Init mutexes */
-	if (ddi_get_iblock_cookie(dip, 0, &softs->iblock_cookie)
-		!= DDI_SUCCESS) {
+	if (ddi_get_iblock_cookie(dip, 0, &softs->iblock_cookie) !=
+	    DDI_SUCCESS) {
 		AACDB_PRINT((CE_WARN,
-			"Can not get interrupt block cookie!"));
+		    "Can not get interrupt block cookie!"));
 		goto error;
 	}
 	mutex_init(&softs->sync_mode.mutex, NULL,
-		MUTEX_DRIVER, (void *)softs->iblock_cookie);
+	    MUTEX_DRIVER, (void *)softs->iblock_cookie);
 	mutex_init(&softs->q_wait_sync.q_mutex, NULL,
-		MUTEX_DRIVER, (void *)softs->iblock_cookie);
+	    MUTEX_DRIVER, (void *)softs->iblock_cookie);
 	mutex_init(&softs->q_wait.q_mutex, NULL,
-		MUTEX_DRIVER, (void *)softs->iblock_cookie);
+	    MUTEX_DRIVER, (void *)softs->iblock_cookie);
 	mutex_init(&softs->q_comp.q_mutex, NULL,
-		MUTEX_DRIVER, (void *)softs->iblock_cookie);
+	    MUTEX_DRIVER, (void *)softs->iblock_cookie);
 	mutex_init(&softs->slot_mutex, NULL,
-		MUTEX_DRIVER, (void *)softs->iblock_cookie);
+	    MUTEX_DRIVER, (void *)softs->iblock_cookie);
 	mutex_init(&softs->fib_mutex, NULL,
-		MUTEX_DRIVER, (void *)softs->iblock_cookie);
+	    MUTEX_DRIVER, (void *)softs->iblock_cookie);
 	cv_init(&softs->event, NULL, CV_DRIVER, NULL);
 	mutex_init(&softs->event_mutex, NULL,
-		MUTEX_DRIVER, (void *)softs->iblock_cookie);
+	    MUTEX_DRIVER, (void *)softs->iblock_cookie);
 	cv_init(&softs->aifv, NULL, CV_DRIVER, NULL);
 	mutex_init(&softs->aifq_mutex, NULL,
-		MUTEX_DRIVER, (void *)softs->iblock_cookie);
+	    MUTEX_DRIVER, (void *)softs->iblock_cookie);
 	rw_init(&softs->errlock, NULL, RW_DRIVER,
-		(void *)softs->iblock_cookie);
+	    (void *)softs->iblock_cookie);
 	attach_state |= AAC_ATTACH_KMUTEX_INITED;
 
 	/*
@@ -651,19 +662,19 @@
 		goto error;
 	attach_state |= AAC_ATTACH_SCSI_TRAN_SETUP;
 
-	/* Connect interrupt handler */
+	/* Connect interrupt handlers */
 	if (ddi_add_intr(dip, 0, &softs->iblock_cookie,
-		(ddi_idevice_cookie_t *)0,
-		(softs->flags & AAC_FLAGS_NEW_COMM) ?
-		aac_intr_new : aac_intr_old, (caddr_t)softs) != DDI_SUCCESS) {
+	    (ddi_idevice_cookie_t *)0,
+	    (softs->flags & AAC_FLAGS_NEW_COMM) ?
+	    aac_intr_new : aac_intr_old, (caddr_t)softs) != DDI_SUCCESS) {
 		AACDB_PRINT((CE_WARN,
-			"Can not setup interrupt handler!"));
+		    "Can not setup interrupt handler!"));
 		goto error;
 	}
 	attach_state |= AAC_ATTACH_HARD_INTR_SETUP;
 
 	if (ddi_add_softintr(dip, DDI_SOFTINT_LOW, &softs->softint_id,
-		NULL, NULL, aac_softintr, (caddr_t)softs) != DDI_SUCCESS) {
+	    NULL, NULL, aac_softintr, (caddr_t)softs) != DDI_SUCCESS) {
 		AACDB_PRINT((CE_WARN, "Can not setup soft interrupt handler!"));
 		goto error;
 	}
@@ -671,32 +682,30 @@
 
 	/* Create devctl/scsi nodes for cfgadm */
 	if (ddi_create_minor_node(dip, "devctl", S_IFCHR,
-		INST2DEVCTL(instance),
-		DDI_NT_SCSI_NEXUS, 0) != DDI_SUCCESS) {
+	    INST2DEVCTL(instance), DDI_NT_SCSI_NEXUS, 0) != DDI_SUCCESS) {
 		AACDB_PRINT((CE_WARN, "failed to create devctl node"));
 		goto error;
 	}
 	attach_state |= AAC_ATTACH_CREATE_DEVCTL;
 
-	if (ddi_create_minor_node(dip, "scsi", S_IFCHR,
-		INST2SCSI(instance),
-		DDI_NT_SCSI_ATTACHMENT_POINT, 0) != DDI_SUCCESS) {
+	if (ddi_create_minor_node(dip, "scsi", S_IFCHR, INST2SCSI(instance),
+	    DDI_NT_SCSI_ATTACHMENT_POINT, 0) != DDI_SUCCESS) {
 		AACDB_PRINT((CE_WARN, "failed to create scsi node"));
 		goto error;
 	}
 	attach_state |= AAC_ATTACH_CREATE_SCSI;
 
-	/* create aac node for app. to issue ioctls */
-	if (ddi_create_minor_node(dip, "aac", S_IFCHR,
-		INST2AAC(instance), DDI_PSEUDO, 0) != DDI_SUCCESS) {
+	/* Create aac node for app. to issue ioctls */
+	if (ddi_create_minor_node(dip, "aac", S_IFCHR, INST2AAC(instance),
+	    DDI_PSEUDO, 0) != DDI_SUCCESS) {
 		AACDB_PRINT((CE_WARN, "failed to create aac node"));
 		goto error;
 	}
 
 	softs->state = AAC_STATE_RUN;
 	/* Create a thread for command timeout */
-	softs->timeout_id = timeout(aac_daemon, (void*)softs,
-		(60 * drv_usectohz(1000000)));
+	softs->timeout_id = timeout(aac_daemon, (void *)softs,
+	    (60 * drv_usectohz(1000000)));
 
 	/* Common attach is OK, so we are attached! */
 	AAC_ENABLE_INTR(softs);
@@ -712,9 +721,8 @@
 	if (attach_state & AAC_ATTACH_COMM_SPACE_SETUP)
 		aac_common_detach(softs);
 	if (attach_state & AAC_ATTACH_SCSI_TRAN_SETUP) {
-		tran = (scsi_hba_tran_t *)ddi_get_driver_private(dip);
 		(void) scsi_hba_detach(dip);
-		scsi_hba_tran_free(tran);
+		scsi_hba_tran_free(AAC_DIP2TRAN(dip));
 	}
 	if (attach_state & AAC_ATTACH_HARD_INTR_SETUP)
 		ddi_remove_intr(dip, 0, softs->iblock_cookie);
@@ -745,9 +753,8 @@
 static int
 aac_detach(dev_info_t *dip, ddi_detach_cmd_t cmd)
 {
-	int instance;
-	struct aac_softstate *softs;
-	scsi_hba_tran_t *tran;
+	scsi_hba_tran_t *tran = AAC_DIP2TRAN(dip);
+	struct aac_softstate *softs = AAC_TRAN2SOFTS(tran);
 
 	DBCALLED(1);
 
@@ -760,9 +767,6 @@
 		return (DDI_FAILURE);
 	}
 
-	instance = ddi_get_instance(dip);
-	tran = (scsi_hba_tran_t *)ddi_get_driver_private(dip);
-	softs = AAC_TRAN2SOFTS(tran);
 	ddi_remove_minor_node(dip, "aac");
 	ddi_remove_minor_node(dip, "scsi");
 	ddi_remove_minor_node(dip, "devctl");
@@ -794,7 +798,7 @@
 	ddi_regs_map_free(&softs->pci_mem_handle);
 	softs->hwif = AAC_HWIF_UNKNOWN;
 	softs->card = AAC_UNKNOWN_CARD;
-	ddi_soft_state_free(aac_softstatep, instance);
+	ddi_soft_state_free(aac_softstatep, ddi_get_instance(dip));
 
 	return (DDI_SUCCESS);
 }
@@ -803,13 +807,10 @@
 static int
 aac_reset(dev_info_t *dip, ddi_reset_cmd_t cmd)
 {
-	struct aac_softstate *softs;
-	scsi_hba_tran_t *tran;
+	struct aac_softstate *softs = AAC_DIP2SOFTS(dip);
 
 	DBCALLED(1);
 
-	tran = (scsi_hba_tran_t *)ddi_get_driver_private(dip);
-	softs = AAC_TRAN2SOFTS(tran);
 	(void) aac_shutdown(softs);
 
 	return (DDI_SUCCESS);
@@ -824,39 +825,39 @@
 static int
 aac_shutdown(struct aac_softstate *softs)
 {
-	int status;
-	struct aac_fib *fib;
+	struct aac_fib *fibp;
 	struct aac_close_command *cc;
-
-	fib = aac_grab_sync_fib(softs, SLEEP_FUNC);
-	cc = (struct aac_close_command *)&fib->data[0];
+	int rval;
+
+	fibp = aac_grab_sync_fib(softs, SLEEP_FUNC);
+	cc = (struct aac_close_command *)&fibp->data[0];
 
 	cc->Command = VM_CloseAll;
-	cc->ContainerId = 0xffffffff;
-
-	/* flush all caches, set FW to write through mode */
-	status = aac_sync_fib(softs, ContainerCommand, fib,
-		sizeof (struct aac_fib_header) + \
-		sizeof (struct aac_close_command));
+	cc->ContainerId = 0xfffffffful;
+
+	/* Flush all caches, set FW to write through mode */
+	rval = aac_sync_fib(softs, ContainerCommand, fibp,
+	    sizeof (struct aac_fib_header) + \
+	    sizeof (struct aac_close_command));
 
 	AACDB_PRINT((CE_NOTE,
-		"shutting down aac %s", (status == AACOK) ? "ok" : "fail"));
+	    "shutting down aac %s", (rval == AACOK) ? "ok" : "fail"));
 
 	aac_release_sync_fib(softs);
-	return (status);
+	return (rval);
 }
 
 static uint_t
 aac_softintr(caddr_t arg)
 {
-	struct aac_softstate *softs;
-
-	softs = (struct aac_softstate *)arg;
+	struct aac_softstate *softs = (struct aac_softstate *)arg;
+
 	if (!AAC_IS_Q_EMPTY(&softs->q_comp)) {
 		aac_drain_comp_q(softs);
 		return (DDI_INTR_CLAIMED);
-	} else
+	} else {
 		return (DDI_INTR_UNCLAIMED);
+	}
 }
 
 /*
@@ -864,7 +865,7 @@
  */
 static void
 aac_set_arq_data(struct scsi_pkt *pkt, uchar_t key,
-	uchar_t add_code, uchar_t qual_code, uint64_t info)
+    uchar_t add_code, uchar_t qual_code, uint64_t info)
 {
 	struct scsi_arq_status *arqstat;
 
@@ -875,13 +876,13 @@
 	arqstat->sts_rqpkt_reason = CMD_CMPLT;
 	arqstat->sts_rqpkt_resid = 0;
 	arqstat->sts_rqpkt_state =
-		STATE_GOT_BUS |
-		STATE_GOT_TARGET |
-		STATE_SENT_CMD |
-		STATE_XFERRED_DATA;
+	    STATE_GOT_BUS |
+	    STATE_GOT_TARGET |
+	    STATE_SENT_CMD |
+	    STATE_XFERRED_DATA;
 	arqstat->sts_rqpkt_statistics = 0;
 
-	if (info <= 0xffffffff) {
+	if (info <= 0xfffffffful) {
 		arqstat->sts_sensedata.es_valid = 1;
 		arqstat->sts_sensedata.es_class = CLASS_EXTENDED_SENSE;
 		arqstat->sts_sensedata.es_code = CODE_FMT_FIXED_CURRENT;
@@ -904,7 +905,7 @@
 		dsp->ds_add_code = add_code;
 		dsp->ds_qual_code = qual_code;
 		dsp->ds_addl_sense_length =
-			sizeof (struct scsi_information_sense_descr);
+		    sizeof (struct scsi_information_sense_descr);
 
 		isd = (struct scsi_information_sense_descr *)(dsp+1);
 		isd->isd_descr_type = DESCR_INFORMATION;
@@ -964,7 +965,7 @@
 
 	device = index;
 	PCI_MEM_PUT32(softs, device,
-		(uint32_t)(slotp->fib_phyaddr & 0xffffffffUL));
+	    (uint32_t)(slotp->fib_phyaddr & 0xfffffffful));
 	device += 4;
 	PCI_MEM_PUT32(softs, device, (uint32_t)(slotp->fib_phyaddr >> 32));
 	device += 4;
@@ -982,38 +983,21 @@
 static uint_t
 aac_intr_new(caddr_t arg)
 {
-	struct aac_softstate *softs;
-	struct aac_cmd *acp;
+	struct aac_softstate *softs = (struct aac_softstate *)arg;
 	struct aac_fib *fibp;
-	uint32_t index, fast;
+	uint32_t index;
 
 	/* AACDB_PRINT((CE_NOTE, "INTR! new")); */
-	softs = (struct aac_softstate *)arg;
 	index = AAC_OUTB_GET(softs);
-	if (index == 0xffffffff)
+	if (index == 0xfffffffful)
 		index = AAC_OUTB_GET(softs);
-	if (index == 0xffffffff)
+	if (index == 0xfffffffful)
 		return (DDI_INTR_UNCLAIMED);
 	do {
-		if (index & AAC_SENDERADDR_MASK_AIF) {
-			int i;
-
-			if (index == 0xfffffffe)
-				return (DDI_INTR_CLAIMED);
-			/* AIF received */
-			fibp = &softs->comm_space->adapter_fibs[0];
-			index &= ~2;
-			for (i = 0; i < sizeof (struct aac_fib)/4; ++i)
-				((uint32_t *)fibp)[i] =
-					PCI_MEM_GET32(softs, index+i*4);
-			(void) aac_handle_aif(softs, fibp);
-			/*
-			 * AIF memory is owned by the adapter, so let it
-			 * know that we are done with it.
-			 */
-			AAC_OUTB_SET(softs, index);
-			AAC_STATUS_CLR(softs, AAC_DB_RESPONSE_READY);
-		} else {
+		if ((index & AAC_SENDERADDR_MASK_AIF) == 0) {
+			struct aac_cmd *acp;
+			uint32_t fast;
+
 			fast = index & AAC_SENDERADDR_MASK_FAST_RESPONSE;
 			index >>= 2;
 
@@ -1026,13 +1010,31 @@
 			if (fast) {
 				fibp = softs->io_slot[index].fibp;
 				fibp->Header.XferState |=
-					AAC_FIBSTATE_DONEADAP;
+				    AAC_FIBSTATE_DONEADAP;
 				*((uint32_t *)(fibp->data)) = 0;
 			}
 			aac_intr_norm(softs, acp);
+		} else if (index != 0xfffffffeul) {
+			int i;
+
+			/* AIF received */
+			fibp = &softs->comm_space->adapter_fibs[0];
+			index &= ~2;
+			for (i = 0; i < sizeof (struct aac_fib)/4; ++i)
+				((uint32_t *)fibp)[i] =
+				    PCI_MEM_GET32(softs, index+i*4);
+			(void) aac_handle_aif(softs, fibp);
+			/*
+			 * AIF memory is owned by the adapter, so let it
+			 * know that we are done with it.
+			 */
+			AAC_OUTB_SET(softs, index);
+			AAC_STATUS_CLR(softs, AAC_DB_RESPONSE_READY);
+		} else {
+			return (DDI_INTR_CLAIMED);
 		}
 		index = AAC_OUTB_GET(softs);
-	} while (index != 0xffffffff);
+	} while (index != 0xfffffffful);
 
 	aac_start_waiting_io(softs);
 	ddi_trigger_softintr(softs->softint_id);
@@ -1049,23 +1051,21 @@
 static uint_t
 aac_intr_old(caddr_t arg)
 {
-	struct aac_softstate *softs;
+	struct aac_softstate *softs = (struct aac_softstate *)arg;
 	struct aac_cmd *acp;
 	struct aac_fib *fibp;
 	uint16_t status;
 	int rval;
 
 	/* AACDB_PRINT((CE_NOTE, "INTR! old")); */
-	softs = (struct aac_softstate *)arg;
 	status = AAC_STATUS_GET(softs);
 	if (status & AAC_DB_RESPONSE_READY) {
 		/* ACK the intr */
 		AAC_STATUS_CLR(softs, AAC_DB_RESPONSE_READY);
 		(void) AAC_STATUS_GET(softs);
 		do {
-			rval = aac_fib_dequeue(softs,
-				AAC_HOST_NORM_RESP_Q,
-				&fibp, &acp);
+			rval = aac_fib_dequeue(softs, AAC_HOST_NORM_RESP_Q,
+			    &fibp, &acp);
 			if (rval == 0 && acp)
 				aac_intr_norm(softs, acp);
 		} while (rval == 0);
@@ -1078,22 +1078,21 @@
 		AAC_STATUS_CLR(softs, AAC_DB_PRINTF_READY);
 		(void) AAC_STATUS_GET(softs);
 		aac_dma_sync(softs->comm_space_dma_handle,
-			AACOFFSET(struct aac_comm_space, adapter_print_buf),
-			AAC_ADAPTER_PRINT_BUFSIZE,
-			DDI_DMA_SYNC_FORCPU);
+		    AACOFFSET(struct aac_comm_space, adapter_print_buf),
+		    AAC_ADAPTER_PRINT_BUFSIZE, DDI_DMA_SYNC_FORCPU);
 		cmn_err(CE_NOTE, "MSG From Adapter: %s",
-			softs->comm_space->adapter_print_buf);
+		    softs->comm_space->adapter_print_buf);
 		AAC_NOTIFY(softs, AAC_DB_PRINTF_READY);
 		return (DDI_INTR_CLAIMED);
 	} else if (status & AAC_DB_COMMAND_READY) {
 		AAC_STATUS_CLR(softs, AAC_DB_COMMAND_READY);
 		(void) AAC_STATUS_GET(softs);
 		rval = aac_fib_dequeue(softs, AAC_HOST_NORM_CMD_Q,
-			&fibp, &acp);
+		    &fibp, &acp);
 		if (rval == 0 && fibp) {
 			(void) aac_handle_aif(softs, fibp);
-			if (aac_resp_enqueue(softs, AAC_ADAP_NORM_RESP_Q, fibp)
-				== AACERR)
+			if (aac_resp_enqueue(softs, AAC_ADAP_NORM_RESP_Q,
+			    fibp) == AACERR)
 				cmn_err(CE_NOTE, "!AIF ack failed");
 		}
 		return (DDI_INTR_CLAIMED);
@@ -1110,48 +1109,49 @@
 		AAC_STATUS_CLR(softs, AAC_DB_COMMAND_NOT_FULL);
 		AAC_STATUS_CLR(softs, AAC_DB_RESPONSE_NOT_FULL);
 		return (DDI_INTR_CLAIMED);
-	} else
+	} else {
 		return (DDI_INTR_UNCLAIMED);
+	}
 }
 
 /*
  * Handle a finished pkt of AAC_CMD_HARD_INTR mode
  */
 static void
-aac_hard_callback(struct aac_softstate *softs, struct aac_cmd *ac,
-	uchar_t reason)
+aac_hard_callback(struct aac_softstate *softs, struct aac_cmd *acp,
+    uchar_t reason)
 {
-	ac->pkt->pkt_reason = reason;
-	aac_cmd_enqueue(&softs->q_comp, ac);
+	acp->pkt->pkt_reason = reason;
+	aac_cmd_enqueue(&softs->q_comp, acp);
 }
 
 /*
  * Handle a finished pkt of non AAC_CMD_HARD_INTR mode
  */
 static void
-aac_soft_callback(struct aac_softstate *softs, struct aac_cmd *ac,
-	uchar_t reason)
+aac_soft_callback(struct aac_softstate *softs, struct aac_cmd *acp,
+    uchar_t reason)
 {
-	struct scsi_pkt *pkt = ac->pkt;
+	struct scsi_pkt *pkt = acp->pkt;
 
 	/* AAC_CMD_NO_INTR means no complete callback */
-	ASSERT(!(ac->flags & AAC_CMD_NO_INTR) || (reason == CMD_CMPLT));
+	ASSERT(!(acp->flags & AAC_CMD_NO_INTR) || (reason == CMD_CMPLT));
 
 	pkt->pkt_reason = reason;
 	if (reason == CMD_CMPLT)
 		pkt->pkt_state |=
-			STATE_GOT_BUS |
-			STATE_GOT_TARGET |
-			STATE_SENT_CMD;
-
-	if (!(ac->flags & AAC_CMD_NO_INTR)) {
-		aac_cmd_enqueue(&softs->q_comp, ac);
+		    STATE_GOT_BUS |
+		    STATE_GOT_TARGET |
+		    STATE_SENT_CMD;
+
+	if (!(acp->flags & AAC_CMD_NO_INTR)) {
+		aac_cmd_enqueue(&softs->q_comp, acp);
 		ddi_trigger_softintr(softs->softint_id);
 	}
 }
 
 /*
- * Handle a complete IO, common to aac_intr_new() and aac_intr_old()
+ * Handlers for completed IOs, common to aac_intr_new() and aac_intr_old()
  */
 static void
 aac_intr_norm(struct aac_softstate *softs, struct aac_cmd *acp)
@@ -1224,8 +1224,8 @@
 	uint32_t mem_base;
 
 	/* Map pci configuration space */
-	if ((pci_config_setup(softs->devinfo_p, &pci_config_handle))
-		!= DDI_SUCCESS) {
+	if ((pci_config_setup(softs->devinfo_p, &pci_config_handle)) !=
+	    DDI_SUCCESS) {
 		AACDB_PRINT((CE_WARN, "Cannot setup pci config space"));
 		return (AACERR);
 	}
@@ -1237,9 +1237,9 @@
 	card_index = 0;
 	while (!CARD_IS_UNKNOWN(card_index)) {
 		if ((aac_cards[card_index].vendor == vendid) &&
-			(aac_cards[card_index].device == devid) &&
-			(aac_cards[card_index].subvendor == subvendid) &&
-			(aac_cards[card_index].subsys == subsysid)) {
+		    (aac_cards[card_index].device == devid) &&
+		    (aac_cards[card_index].subvendor == subvendid) &&
+		    (aac_cards[card_index].subsys == subsysid)) {
 			/*
 			 * SATA RAID adapter's DMA capability is worse
 			 * than SCSI RAID adapter.  So we need to change
@@ -1248,7 +1248,7 @@
 			 */
 			if (aac_cards[card_index].type == AAC_TYPE_SATA)
 				softs->buf_dma_attr.dma_attr_count_max =
-					0xfffull;
+				    0xfffull;
 			break;
 		}
 		card_index++;
@@ -1265,7 +1265,7 @@
 	if (CARD_IS_UNKNOWN(card_index)) {
 		if (vendid != 0x9005) {
 			AACDB_PRINT((CE_WARN,
-				"Unknown vendor 0x%x", vendid));
+			    "Unknown vendor 0x%x", vendid));
 			goto error;
 		}
 		switch (devid) {
@@ -1277,7 +1277,7 @@
 			break;
 		default:
 			AACDB_PRINT((CE_WARN,
-				"Unknown device \"pci9005,%x\"", devid));
+			    "Unknown device \"pci9005,%x\"", devid));
 			goto error;
 		}
 	}
@@ -1294,15 +1294,15 @@
 		break;
 	default:
 		AACDB_PRINT((CE_WARN,
-			"Unknown hardware interface %d", softs->hwif));
+		    "Unknown hardware interface %d", softs->hwif));
 		goto error;
 	}
 
 	/* Set card names */
 	(void *)strncpy(softs->vendor_name, aac_cards[card_index].vid,
-		AAC_VENDOR_LEN);
+	    AAC_VENDOR_LEN);
 	(void *)strncpy(softs->product_name, aac_cards[card_index].desc,
-		AAC_PRODUCT_LEN);
+	    AAC_PRODUCT_LEN);
 
 	/* Set up quirks */
 	softs->flags = aac_cards[card_index].quirks;
@@ -1311,13 +1311,10 @@
 	pci_cmd = pci_config_get16(pci_config_handle, PCI_CONF_COMM);
 	if ((pci_cmd & PCI_COMM_ME) == 0) {
 		pci_cmd |= PCI_COMM_ME;
-		pci_config_put16(pci_config_handle, PCI_CONF_COMM,
-			pci_cmd);
-		pci_cmd = pci_config_get16(pci_config_handle,
-			PCI_CONF_COMM);
+		pci_config_put16(pci_config_handle, PCI_CONF_COMM, pci_cmd);
+		pci_cmd = pci_config_get16(pci_config_handle, PCI_CONF_COMM);
 		if ((pci_cmd & PCI_COMM_ME) == 0) {
-			cmn_err(CE_CONT,
-				"?Cannot enable busmaster bit");
+			cmn_err(CE_CONT, "?Cannot enable busmaster bit");
 			goto error;
 		}
 	}
@@ -1328,15 +1325,15 @@
 	pci_config_teardown(&pci_config_handle);
 
 	cmn_err(CE_NOTE,
-		"!aac driver %d.%02d.%02d-%d, found card: " \
-		"%s %s(pci0x%x.%x.%x.%x) at 0x%x",
-		AAC_DRIVER_MAJOR_VERSION,
-		AAC_DRIVER_MINOR_VERSION,
-		AAC_DRIVER_BUGFIX_LEVEL,
-		AAC_DRIVER_BUILD,
-		softs->vendor_name, softs->product_name,
-		vendid, devid, subvendid, subsysid,
-		mem_base);
+	    "!aac driver %d.%02d.%02d-%d, found card: " \
+	    "%s %s(pci0x%x.%x.%x.%x) at 0x%x",
+	    AAC_DRIVER_MAJOR_VERSION,
+	    AAC_DRIVER_MINOR_VERSION,
+	    AAC_DRIVER_BUGFIX_LEVEL,
+	    AAC_DRIVER_BUILD,
+	    softs->vendor_name, softs->product_name,
+	    vendid, devid, subvendid, subsysid,
+	    mem_base);
 	return (AACOK); /* card type detected */
 
 error:
@@ -1362,11 +1359,11 @@
 	uint32_t status;
 
 	/* Get supported options */
-	if ((aac_sync_mbcommand(softs, AAC_MONKER_GETINFO, 0, 0, 0, 0, &status))
-		!= AACOK) {
-		if (status != AAC_SRB_STS_INVALID_REQUEST) {
+	if ((aac_sync_mbcommand(softs, AAC_MONKER_GETINFO, 0, 0, 0, 0,
+	    &status)) != AACOK) {
+		if (status != SRB_STATUS_INVALID_REQUEST) {
 			cmn_err(CE_CONT,
-				"?Fatal error: request adapter info error");
+			    "?Fatal error: request adapter info error");
 			return (AACERR);
 		}
 		options = 0;
@@ -1381,20 +1378,24 @@
 
 	if ((softs->state == AAC_STATE_RESET)) {
 		if ((softs->support_opt == options) &&
-			(softs->atu_size == atu_size))
+		    (softs->atu_size == atu_size))
 			return (AACOK);
 
 		cmn_err(CE_WARN,
-			"?Fatal error: firmware changed, system needs reboot");
+		    "?Fatal error: firmware changed, system needs reboot");
 		return (AACERR);
 	}
 
+	/*
+	 * The following critical settings are initialized only once during
+	 * driver attachment.
+	 */
 	softs->support_opt = options;
 	softs->atu_size = atu_size;
 
 	/* Process supported options */
 	if ((options & AAC_SUPPORTED_4GB_WINDOW) != 0 &&
-		(softs->flags & AAC_FLAGS_NO4GB) == 0) {
+	    (softs->flags & AAC_FLAGS_NO4GB) == 0) {
 		cmn_err(CE_NOTE, "!Enable FIB map 4GB window");
 		softs->addr_dma_attr.dma_attr_addr_hi = 0xffffffffull;
 		softs->addr_dma_attr.dma_attr_maxxfer = 0xffffffffull;
@@ -1418,7 +1419,7 @@
 	/* Read preferred settings */
 	max_fib_size = 0;
 	if ((aac_sync_mbcommand(softs, AAC_MONKER_GETCOMMPREF,
-		0, 0, 0, 0, NULL)) == AACOK) {
+	    0, 0, 0, 0, NULL)) == AACOK) {
 		options = AAC_MAILBOX_GET(softs, 1);
 		max_fib_size = (options & 0xffff);
 		max_sectors = (options >> 16) << 1;
@@ -1430,12 +1431,11 @@
 
 	/* Enable new comm. and rawio at the same time */
 	if ((softs->support_opt & AAC_SUPPORTED_NEW_COMM) &&
-		(max_fib_size != 0)) {
+	    (max_fib_size != 0)) {
 		if ((atu_size > softs->map_size) &&
-			(ddi_regs_map_setup(softs->devinfo_p, 1,
-			(caddr_t *)&pci_mbr, 0,
-			atu_size, &aac_acc_attr, &pci_handle)
-			== DDI_SUCCESS)) {
+		    (ddi_regs_map_setup(softs->devinfo_p, 1,
+		    (caddr_t *)&pci_mbr, 0, atu_size, &aac_acc_attr,
+		    &pci_handle) == DDI_SUCCESS)) {
 			ddi_regs_map_free(&softs->pci_mem_handle);
 			softs->pci_mem_handle = pci_handle;
 			softs->pci_mem_base_addr = pci_mbr;
@@ -1458,25 +1458,25 @@
 		cmn_err(CE_NOTE, "!Enable RawIO");
 	} else {
 		softs->aac_max_fibs =
-			(softs->flags & AAC_FLAGS_256FIBS) ? 256 : 512;
+		    (softs->flags & AAC_FLAGS_256FIBS) ? 256 : 512;
 		softs->aac_max_fib_size = sizeof (struct aac_fib);
 		softs->aac_max_sectors = 128;
 		if (softs->flags & AAC_FLAGS_PERC)
 			softs->aac_sg_tablesize = AAC_NSEG;
 		else if (softs->flags & AAC_FLAGS_SG_64BIT)
 			softs->aac_sg_tablesize = (AAC_FIB_DATASIZE -
-				sizeof (struct aac_blockwrite64) +
-				sizeof (struct aac_sg_entry64)) /
-				sizeof (struct aac_sg_entry64);
+			    sizeof (struct aac_blockwrite64) +
+			    sizeof (struct aac_sg_entry64)) /
+			    sizeof (struct aac_sg_entry64);
 		else
 			softs->aac_sg_tablesize = (AAC_FIB_DATASIZE -
-				sizeof (struct aac_blockwrite) +
-				sizeof (struct aac_sg_entry)) /
-				sizeof (struct aac_sg_entry);
+			    sizeof (struct aac_blockwrite) +
+			    sizeof (struct aac_sg_entry)) /
+			    sizeof (struct aac_sg_entry);
 	}
 
 	if ((softs->flags & AAC_FLAGS_RAW_IO) &&
-		(softs->flags & AAC_FLAGS_ARRAY_64BIT)) {
+	    (softs->flags & AAC_FLAGS_ARRAY_64BIT)) {
 		softs->flags |= AAC_FLAGS_LBA_64BIT;
 		cmn_err(CE_NOTE, "!Enable 64-bit array");
 	}
@@ -1484,9 +1484,9 @@
 	softs->buf_dma_attr.dma_attr_maxxfer = softs->aac_max_sectors << 9;
 
 	cmn_err(CE_NOTE,
-		"!max_fibs %d max_fibsize 0x%x max_sectors %d max_sg %d",
-		softs->aac_max_fibs, softs->aac_max_fib_size,
-		softs->aac_max_sectors, softs->aac_sg_tablesize);
+	    "!max_fibs %d max_fibsize 0x%x max_sectors %d max_sg %d",
+	    softs->aac_max_fibs, softs->aac_max_fib_size,
+	    softs->aac_max_sectors, softs->aac_sg_tablesize);
 
 	return (AACOK);
 }
@@ -1498,42 +1498,42 @@
  */
 static int
 aac_get_adapter_info(struct aac_softstate *softs,
-	struct aac_adapter_info *ainfr,
-	struct aac_supplement_adapter_info *sinfr)
+    struct aac_adapter_info *ainfr,
+    struct aac_supplement_adapter_info *sinfr)
 {
-	struct aac_fib *fib;
+	struct aac_fib *fibp;
 	struct aac_adapter_info *ainfp;
 	struct aac_supplement_adapter_info *sinfp;
 
-	fib = aac_grab_sync_fib(softs, SLEEP_FUNC);
-	fib->data[0] = 0;
-	if (aac_sync_fib(softs, RequestAdapterInfo, fib,
-		sizeof (struct aac_fib_header)) != AACOK) {
+	fibp = aac_grab_sync_fib(softs, SLEEP_FUNC);
+	fibp->data[0] = 0;
+	if (aac_sync_fib(softs, RequestAdapterInfo, fibp,
+	    sizeof (struct aac_fib_header)) != AACOK) {
 		AACDB_PRINT((CE_WARN, "RequestAdapterInfo failed"));
 		aac_release_sync_fib(softs);
 		return (AACERR);
 	}
-	ainfp = (struct aac_adapter_info *)fib->data;
+	ainfp = (struct aac_adapter_info *)fibp->data;
 	if (ainfr) {
 		*ainfr = *ainfp;
 	}
 	if (sinfr) {
 		if (!(softs->support_opt &
-			AAC_SUPPORTED_SUPPLEMENT_ADAPTER_INFO)) {
+		    AAC_SUPPORTED_SUPPLEMENT_ADAPTER_INFO)) {
 			AACDB_PRINT((CE_WARN,
-				"SupplementAdapterInfo not supported"));
+			    "SupplementAdapterInfo not supported"));
 			aac_release_sync_fib(softs);
 			return (AACERR);
 		}
-		fib->data[0] = 0;
-		if (aac_sync_fib(softs, RequestSupplementAdapterInfo, fib,
-			sizeof (struct aac_fib_header)) != AACOK) {
+		fibp->data[0] = 0;
+		if (aac_sync_fib(softs, RequestSupplementAdapterInfo, fibp,
+		    sizeof (struct aac_fib_header)) != AACOK) {
 			AACDB_PRINT((CE_WARN,
-				"RequestSupplementAdapterInfo failed"));
+			    "RequestSupplementAdapterInfo failed"));
 			aac_release_sync_fib(softs);
 			return (AACERR);
 		}
-		sinfp = (struct aac_supplement_adapter_info *)fib->data;
+		sinfp = (struct aac_supplement_adapter_info *)fibp->data;
 		*sinfr = *sinfp;
 	}
 
@@ -1582,69 +1582,60 @@
 static int
 aac_handle_adapter_config_issues(struct aac_softstate *softs)
 {
-	struct aac_fib *fib;
+	struct aac_fib *fibp;
 	struct aac_Container *cmd;
-	struct aac_Container_resp *rsp;
+	struct aac_Container_resp *resp;
 	struct aac_cf_status_header *cfg_sts_hdr;
 	uint32_t cfg_stat_action;
-	int status;
-	int ret;
-
-	/*
-	 * Get adapter config status
-	 */
-	fib = aac_grab_sync_fib(softs, SLEEP_FUNC);
-	cmd = (struct aac_Container *)&fib->data[0];
-	rsp = (struct aac_Container_resp *)cmd;
-	cfg_sts_hdr = (struct aac_cf_status_header *)rsp->CTResponse.data;
+	int rval;
+
+	fibp = aac_grab_sync_fib(softs, SLEEP_FUNC);
+	/* Get adapter config status */
+	cmd = (struct aac_Container *)&fibp->data[0];
 
 	cmd->Command = VM_ContainerConfig;
 	cmd->CTCommand.command = CT_GET_CONFIG_STATUS;
 	cmd->CTCommand.param[CNT_SIZE] = sizeof (struct aac_cf_status_header);
-	status = aac_sync_fib(softs, ContainerCommand, fib,
-		sizeof (struct aac_fib_header) + \
-		sizeof (struct aac_Container));
-
-	if ((status == AACOK) &&
-		(*(uint32_t *)rsp == 0) &&
-		(rsp->CTResponse.param[0] == CT_OK)) {
+	rval = aac_sync_fib(softs, ContainerCommand, fibp,
+	    sizeof (struct aac_fib_header) + \
+	    sizeof (struct aac_Container));
+	resp = (struct aac_Container_resp *)cmd;
+	cfg_sts_hdr = (struct aac_cf_status_header *)resp->CTResponse.data;
+
+	if ((rval == AACOK) && (*(uint32_t *)resp == 0) &&
+	    (resp->CTResponse.param[0] == CT_OK)) {
 		cfg_stat_action = cfg_sts_hdr->action;
 
-		/*
-		 * Commit configuration if it's reasonable to do so.
-		 */
+		/* Commit configuration if it's reasonable to do so. */
 		if (cfg_stat_action <= CFACT_PAUSE) {
 			bzero(cmd, sizeof (struct aac_Container) - \
-				CT_PACKET_SIZE);
+			    CT_PACKET_SIZE);
 			cmd->Command = VM_ContainerConfig;
 			cmd->CTCommand.command = CT_COMMIT_CONFIG;
-			status = aac_sync_fib(softs, ContainerCommand, fib,
-				sizeof (struct aac_fib_header) + \
-				sizeof (struct aac_Container));
-			if ((status == AACOK) &&
-				(*(uint32_t *)rsp == 0) &&
-				(rsp->CTResponse.param[0] == CT_OK))
-					/* Successful completion */
-					ret = AACMPE_OK;
-				else
-					/*
-					 * Auto-commit aborted due to error(s).
-					 */
-					ret = AACMPE_COMMIT_CONFIG;
+			rval = aac_sync_fib(softs, ContainerCommand, fibp,
+			    sizeof (struct aac_fib_header) + \
+			    sizeof (struct aac_Container));
+			if ((rval == AACOK) && (*(uint32_t *)resp == 0) &&
+			    (resp->CTResponse.param[0] == CT_OK))
+				/* Successful completion */
+				rval = AACMPE_OK;
+			else
+				/* Auto-commit aborted due to error(s). */
+				rval = AACMPE_COMMIT_CONFIG;
 		} else {
 			/*
 			 * Auto-commit aborted due to adapter indicating
 			 * configuration issue(s) too dangerous to auto-commit.
 			 */
-			ret = AACMPE_CONFIG_STATUS;
+			rval = AACMPE_CONFIG_STATUS;
 		}
 	} else {
 		cmn_err(CE_WARN, "!Configuration issue, auto-commit aborted");
-		ret = AACMPE_CONFIG_STATUS;
+		rval = AACMPE_CONFIG_STATUS;
 	}
 
 	aac_release_sync_fib(softs);
-	return (ret);
+	return (rval);
 }
 
 /*
@@ -1663,7 +1654,7 @@
 	 * attempts to communicate with it.
 	 */
 	AAC_BUSYWAIT(AAC_FWSTATUS_GET(softs) & AAC_KERNEL_UP_AND_RUNNING,
-		AAC_FWUP_TIMEOUT * 1000);
+	    AAC_FWUP_TIMEOUT * 1000);
 	if (!(AAC_FWSTATUS_GET(softs) & AAC_KERNEL_UP_AND_RUNNING)) {
 		cmn_err(CE_CONT, "?Fatal error: controller not ready");
 		goto error;
@@ -1687,8 +1678,7 @@
 	}
 
 	/* Allocate slots */
-	if ((softs->total_slots == 0) &&
-		(aac_create_slots(softs) != AACOK)) {
+	if ((softs->total_slots == 0) && (aac_create_slots(softs) != AACOK)) {
 		cmn_err(CE_CONT, "?Fatal error: slots allocate failed");
 		goto error;
 	}
@@ -1696,12 +1686,14 @@
 
 	/* Allocate FIBs */
 	for (i = 0; i < softs->total_slots &&
-		softs->total_fibs < softs->aac_max_fibs; i++) {
+	    softs->total_fibs < softs->aac_max_fibs; i++) {
 		slotp = &(softs->io_slot[i]);
 		if (slotp->fib_phyaddr)
 			continue;
 		if (aac_alloc_fib(softs, slotp) != AACOK)
 			break;
+
+		/* Insert the slot to the free slot list */
 		slotp->index = i;
 		aac_release_slot(softs, slotp);
 		softs->total_fibs++;
@@ -1725,7 +1717,7 @@
 			 * and the other words as the product name.
 			 */
 			AACDB_PRINT((CE_NOTE, "sinf.AdapterTypeText = "
-				"\"%s\"", sinf.AdapterTypeText));
+			    "\"%s\"", sinf.AdapterTypeText));
 			p = sinf.AdapterTypeText;
 			p0 = p1 = NULL;
 			/* Skip heading spaces */
@@ -1744,19 +1736,19 @@
 				*p-- = 0;
 			if (*p0 && *p1) {
 				(void *)strncpy(softs->vendor_name, p0,
-					AAC_VENDOR_LEN);
+				    AAC_VENDOR_LEN);
 				(void *)strncpy(softs->product_name, p1,
-					AAC_PRODUCT_LEN);
+				    AAC_PRODUCT_LEN);
 			} else {
 				cmn_err(CE_WARN,
-					"?adapter name mis-formatted\n");
+				    "?adapter name mis-formatted\n");
 				if (*p0)
 					(void *)strncpy(softs->product_name,
-						p0, AAC_PRODUCT_LEN);
+					    p0, AAC_PRODUCT_LEN);
 			}
 			AACDB_PRINT((CE_NOTE,
-				"adapter: vendor = \"%s\", product = \"%s\"",
-				softs->vendor_name, softs->product_name));
+			    "adapter: vendor = \"%s\", product = \"%s\"",
+			    softs->vendor_name, softs->product_name));
 		}
 	}
 
@@ -1767,7 +1759,7 @@
 	}
 
 	/* Setup containers */
-	if (aac_get_container(softs) != AACOK) {
+	if (aac_get_containers(softs) != AACOK) {
 		cmn_err(CE_CONT, "?Fatal error: get container info error");
 		goto error;
 	}
@@ -1791,7 +1783,6 @@
 aac_common_detach(struct aac_softstate *softs)
 {
 	int i;
-	struct aac_slot *slotp;
 
 	DBCALLED(1);
 
@@ -1799,6 +1790,8 @@
 
 	/* Release FIBs */
 	for (i = 0; i < softs->total_slots; i++) {
+		struct aac_slot *slotp;
+
 		slotp = &(softs->io_slot[i]);
 		if (slotp->fib_phyaddr == 0)
 			continue;
@@ -1821,13 +1814,13 @@
  */
 int
 aac_sync_mbcommand(struct aac_softstate *softs, uint32_t cmd,
-	uint32_t arg0, uint32_t arg1, uint32_t arg2, uint32_t arg3,
-	uint32_t *statusp)
+    uint32_t arg0, uint32_t arg1, uint32_t arg2, uint32_t arg3,
+    uint32_t *statusp)
 {
 	uint32_t status;
 
 	if (statusp != NULL)
-		*statusp = AAC_SRB_STS_SUCCESS;
+		*statusp = SRB_STATUS_SUCCESS;
 
 	/* Fill in mailbox */
 	AAC_MAILBOX_SET(softs, cmd, arg0, arg1, arg2, arg3);
@@ -1840,11 +1833,11 @@
 
 	/* Spin waiting for the command to complete */
 	AAC_BUSYWAIT(AAC_STATUS_GET(softs) & AAC_DB_SYNC_COMMAND,
-		AAC_IMMEDIATE_TIMEOUT * 1000);
+	    AAC_IMMEDIATE_TIMEOUT * 1000);
 	if (!(AAC_STATUS_GET(softs) & AAC_DB_SYNC_COMMAND)) {
 		AACDB_PRINT((CE_WARN,
-			"Sync command timed out after %d seconds (0x%x)!",
-			AAC_IMMEDIATE_TIMEOUT, AAC_FWSTATUS_GET(softs)));
+		    "Sync command timed out after %d seconds (0x%x)!",
+		    AAC_IMMEDIATE_TIMEOUT, AAC_FWSTATUS_GET(softs)));
 		return (AACERR);
 	}
 
@@ -1855,9 +1848,9 @@
 	status = AAC_MAILBOX_GET(softs, 0);
 	if (statusp != NULL)
 		*statusp = status;
-	if (status != AAC_SRB_STS_SUCCESS) {
+	if (status != SRB_STATUS_SUCCESS) {
 		AACDB_PRINT((CE_WARN,
-			"Sync command fail: status = 0x%x", status));
+		    "Sync command fail: status = 0x%x", status));
 		return (AACERR);
 	}
 
@@ -1869,40 +1862,41 @@
  */
 static int
 aac_sync_fib(struct aac_softstate *softs, uint32_t cmd,
-	struct aac_fib *fib, uint16_t fibsize)
+    struct aac_fib *fibp, uint16_t fibsize)
 {
-	int err;
 	uint32_t status;
+	int rval;
 
 	/* Sync fib only supports 512 bytes */
 	if (fibsize > AAC_FIB_SIZE)
 		return (AACERR);
 
 	/* Setup sync fib */
-	fib->Header.XferState =
-		AAC_FIBSTATE_HOSTOWNED |
-		AAC_FIBSTATE_INITIALISED |
-		AAC_FIBSTATE_EMPTY |
-		AAC_FIBSTATE_FROMHOST |
-		AAC_FIBSTATE_NORM;
-	fib->Header.Command = cmd;
-	fib->Header.StructType = AAC_FIBTYPE_TFIB;
-	fib->Header.Flags = 0;
-	fib->Header.Size = fibsize;
-	fib->Header.SenderSize = sizeof (struct aac_fib); /* syncfib 512B */
-	fib->Header.SenderFibAddress = 0;
-	fib->Header.ReceiverFibAddress = softs->sync_mode.fib_phyaddr;
-	fib->Header.SenderData = 0;
+	fibp->Header.XferState =
+	    AAC_FIBSTATE_HOSTOWNED |
+	    AAC_FIBSTATE_INITIALISED |
+	    AAC_FIBSTATE_EMPTY |
+	    AAC_FIBSTATE_FROMHOST |
+	    AAC_FIBSTATE_NORM;
+	fibp->Header.Command = cmd;
+	fibp->Header.StructType = AAC_FIBTYPE_TFIB;
+	fibp->Header.Flags = 0;
+	fibp->Header.Size = fibsize;
+	fibp->Header.SenderSize = sizeof (struct aac_fib); /* syncfib 512B */
+	fibp->Header.SenderFibAddress = 0;
+	fibp->Header.ReceiverFibAddress = softs->sync_mode.fib_phyaddr;
+	fibp->Header.SenderData = 0;
 
 	aac_dma_sync(softs->comm_space_dma_handle,
-		AACOFFSET(struct aac_comm_space, sync_fib), AAC_FIB_SIZE,
-		DDI_DMA_SYNC_FORDEV);
+	    AACOFFSET(struct aac_comm_space, sync_fib), AAC_FIB_SIZE,
+	    DDI_DMA_SYNC_FORDEV);
 
 	/* Give the FIB to the controller, wait for a response. */
-	err = aac_sync_mbcommand(softs, AAC_MONKER_SYNCFIB,
-		fib->Header.ReceiverFibAddress, 0, 0, 0, &status);
-	if (err == AACERR) {
-		AACDB_PRINT((CE_WARN, "Send sync fib to controller failed"));
+	rval = aac_sync_mbcommand(softs, AAC_MONKER_SYNCFIB,
+	    fibp->Header.ReceiverFibAddress, 0, 0, 0, &status);
+	if (rval == AACERR) {
+		AACDB_PRINT((CE_WARN,
+		    "Send sync fib to controller failed"));
 		return (AACERR);
 	}
 
@@ -1910,20 +1904,20 @@
 }
 
 static struct aac_fib *
-aac_grab_sync_fib(struct aac_softstate *softs,
-	int (*callback)(caddr_t))
+aac_grab_sync_fib(struct aac_softstate *softs, int (*callback)(caddr_t))
 {
-	struct aac_fib *fib = NULL;
+	struct aac_fib *fibp = NULL;
 
 	if (callback == NULL_FUNC) {
 		if (!mutex_tryenter(&softs->sync_mode.mutex))
 			return (NULL);
-	} else
+	} else {
 		mutex_enter(&softs->sync_mode.mutex);
-
-	fib = softs->sync_mode.fib;
-	bzero(fib, sizeof (struct aac_fib));
-	return (fib);
+	}
+
+	fibp = softs->sync_mode.fib;
+	bzero(fibp, sizeof (struct aac_fib));
+	return (fibp);
 }
 
 static void
@@ -1933,40 +1927,41 @@
 }
 
 /*
- * Remove cmd from queue
+ * Remove a cmd from the head of q
  */
 static struct aac_cmd *
 aac_cmd_dequeue(struct aac_cmd_queue *q)
 {
-	struct aac_cmd *ac = NULL;
-
 	mutex_enter(&q->q_mutex);
 	if (q->q_head) {
-		ac = q->q_head;
-		q->q_head = ac->next;
-		ac->next = NULL;
+		struct aac_cmd *acp;
+
+		acp = q->q_head;
+		q->q_head = acp->next;
+		acp->next = NULL;
 		if (q->q_head == NULL)
 			q->q_tail = NULL;
 		q->q_len--;
+		mutex_exit(&q->q_mutex);
+		return (acp);
 	}
 	mutex_exit(&q->q_mutex);
-
-	return (ac);
+	return (NULL);
 }
 
 /*
  * Add a cmd to the tail of q
  */
 static void
-aac_cmd_enqueue(struct aac_cmd_queue *q, struct aac_cmd *ac)
+aac_cmd_enqueue(struct aac_cmd_queue *q, struct aac_cmd *acp)
 {
 	mutex_enter(&q->q_mutex);
-	ac->next = NULL;
+	acp->next = NULL;
 	if (!q->q_head) /* empty queue */
-		q->q_head = ac;
+		q->q_head = acp;
 	else
-		q->q_tail->next = ac;
-	q->q_tail = ac;
+		q->q_tail->next = acp;
+	q->q_tail = acp;
 	q->q_len++;
 	mutex_exit(&q->q_mutex);
 }
@@ -1981,8 +1976,7 @@
  *	 separate queue/notify interface).
  */
 static int
-aac_fib_enqueue(struct aac_softstate *softs, int queue,
-	struct aac_fib *fibp)
+aac_fib_enqueue(struct aac_softstate *softs, int queue, struct aac_fib *fibp)
 {
 	uint32_t pi, ci;
 	uint32_t fib_size;
@@ -2030,8 +2024,7 @@
  * Put our response to an AIF on the response queue
  */
 static int
-aac_resp_enqueue(struct aac_softstate *softs, int queue,
-	struct aac_fib *fibp)
+aac_resp_enqueue(struct aac_softstate *softs, int queue, struct aac_fib *fibp)
 {
 	uint32_t pi, ci;
 	uint32_t fib_size;
@@ -2069,7 +2062,6 @@
 
 	if (aac_qinfo[queue].notify != 0)
 		AAC_NOTIFY(softs, aac_qinfo[queue].notify);
-
 	return (AACOK);
 }
 
@@ -2079,7 +2071,7 @@
  */
 static int
 aac_fib_dequeue(struct aac_softstate *softs, int queue, struct aac_fib **fibpp,
-	struct aac_cmd **acpp)
+    struct aac_cmd **acpp)
 {
 	uint32_t pi, ci, index, fast;
 	int error = 0, unfull = 0;
@@ -2116,7 +2108,7 @@
 	case AAC_HOST_NORM_CMD_Q:
 	case AAC_HOST_HIGH_CMD_Q:
 		index = (softs->qentries[queue] + ci)->aq_fib_addr /
-			sizeof (struct aac_fib);
+		    sizeof (struct aac_fib);
 		ASSERT((index >= 0) && (index < AAC_ADAPTER_FIBS));
 		*fibpp = &softs->comm_space->adapter_fibs[index];
 		ASSERT(*fibpp != NULL);
@@ -2133,8 +2125,7 @@
 		ASSERT(*acpp != NULL);
 		*fibpp = softs->io_slot[index].fibp;
 		if (fast) {
-			(*fibpp)->Header.XferState |=
-				AAC_FIBSTATE_DONEADAP;
+			(*fibpp)->Header.XferState |= AAC_FIBSTATE_DONEADAP;
 			*((uint32_t *)((*fibpp)->data)) = 0;
 		}
 		break;
@@ -2151,7 +2142,6 @@
 	mutex_exit(&softs->fib_mutex);
 	if (unfull && aac_qinfo[queue].notify != 0)
 		AAC_NOTIFY(softs, aac_qinfo[queue].notify);
-
 	return (error);
 }
 
@@ -2160,49 +2150,49 @@
  * Request information of the container cid
  */
 static struct aac_mntinforesp *
-aac_get_container_info(struct aac_softstate *softs, struct aac_fib *fib,
-	int cid)
+aac_get_container_info(struct aac_softstate *softs, struct aac_fib *fibp,
+    int cid)
 {
 	struct aac_mntinfo *mi;
 
-	mi = (struct aac_mntinfo *)&fib->data[0];
+	mi = (struct aac_mntinfo *)&fibp->data[0];
 	mi->Command = /* Use 64-bit LBA if enabled */
-		(softs->flags & AAC_FLAGS_LBA_64BIT) ?
-		VM_NameServe64 : VM_NameServe;
+	    (softs->flags & AAC_FLAGS_LBA_64BIT) ?
+	    VM_NameServe64 : VM_NameServe;
 	mi->MntType = FT_FILESYS;
 	mi->MntCount = cid;
 
-	if (aac_sync_fib(softs, ContainerCommand, fib,
-		sizeof (struct aac_fib_header) + \
-		sizeof (struct aac_mntinfo)) == AACERR) {
+	if (aac_sync_fib(softs, ContainerCommand, fibp,
+	    sizeof (struct aac_fib_header) + \
+	    sizeof (struct aac_mntinfo)) == AACERR) {
 		AACDB_PRINT((CE_WARN, "Error probe container %d", cid));
 		return (NULL);
 	}
 
-	return ((struct aac_mntinforesp *)&fib->data[0]);
+	return ((struct aac_mntinforesp *)&fibp->data[0]);
 }
 
 static struct aac_Container *
-aac_get_container_uid(struct aac_softstate *softs, struct aac_fib *fib,
-	uint32_t cid)
+aac_get_container_uid(struct aac_softstate *softs, struct aac_fib *fibp,
+    uint32_t cid)
 {
 	struct aac_Container *ct;
 
-	ct = (struct aac_Container *)&fib->data[0];
+	ct = (struct aac_Container *)&fibp->data[0];
 	ct->Command = VM_ContainerConfig;
 	ct->CTCommand.command = CT_CID_TO_32BITS_UID;
 	ct->CTCommand.param[0] = cid;
 
-	if (aac_sync_fib(softs, ContainerCommand, fib,
-		sizeof (struct aac_fib_header) + \
-		sizeof (struct aac_Container)) == AACERR)
+	if (aac_sync_fib(softs, ContainerCommand, fibp,
+	    sizeof (struct aac_fib_header) + \
+	    sizeof (struct aac_Container)) == AACERR)
 		return (NULL);
 	return (ct);
 }
 
 static void
 aac_init_container(struct aac_softstate *softs, uint32_t cid, uint32_t uid,
-	uint64_t size)
+    uint64_t size)
 {
 	softs->container[cid].cid = cid;
 	softs->container[cid].uid = uid;
@@ -2213,21 +2203,23 @@
 }
 
 static int
-aac_get_container(struct aac_softstate *softs)
+aac_get_containers(struct aac_softstate *softs)
 {
-	struct aac_fib *fib;
+	struct aac_fib *fibp;
 	struct aac_mntinforesp *mir;
-	int i = 0, count = 0, total = 0;
+	int i, count, total;
 	struct aac_Container *ct;
 	uint32_t uid;
 	uint64_t size;
 
 	bzero(softs->container, sizeof (softs->container));
-	fib = aac_grab_sync_fib(softs, SLEEP_FUNC);
+	fibp = aac_grab_sync_fib(softs, SLEEP_FUNC);
 
 	/* Loop over possible containers */
+	i = count = total = 0;
 	do {
-		if ((mir = aac_get_container_info(softs, fib, i)) == NULL)
+		/* Get container basic info */
+		if ((mir = aac_get_container_info(softs, fibp, i)) == NULL)
 			goto next;
 
 		if (i == 0) /* the first time */
@@ -2237,21 +2229,24 @@
 			goto next;
 
 		size = AAC_MIR_SIZE(softs, mir);
-		if ((ct = aac_get_container_uid(softs, fib, i)) == NULL)
+
+		/* Get container UID */
+		if ((ct = aac_get_container_uid(softs, fibp, i)) == NULL)
 			goto next;
 		if (ct->CTCommand.param[0] != CT_OK)
 			goto next;
-
 		uid = ct->CTCommand.param[1];
+
+		/* Init container */
 		aac_init_container(softs, i, uid, size);
 		total++;
 		AACDB_PRINT((CE_NOTE, "Container #%d found: " \
-			"uid=0x%08x, size=0x%x.%08x, type=%d, name=%s",
-			i, uid,
-			mir->MntObj.CapacityHigh,
-			mir->MntObj.Capacity,
-			mir->MntObj.VolType,
-			mir->MntObj.FileSystemName));
+		    "uid=0x%08x, size=0x%x.%08x, type=%d, name=%s",
+		    i, uid,
+		    mir->MntObj.CapacityHigh,
+		    mir->MntObj.Capacity,
+		    mir->MntObj.VolType,
+		    mir->MntObj.FileSystemName));
 next:
 		bzero(mir, sizeof (struct aac_mntinforesp));
 		i++;
@@ -2269,53 +2264,55 @@
  * with newly online/offline containers.
  */
 static void
-aac_rescan_container(struct aac_softstate *softs)
+aac_rescan_containers(struct aac_softstate *softs)
 {
 	int cid;
-	struct aac_fib *fib;
-	struct aac_mntinforesp *mir;
+	struct aac_fib *fibp;
 	int count;
-	uint64_t ct_size;
 	int found;
-	struct aac_Container *ct;
 
 	AACDB_PRINT((CE_NOTE, "--- rescan containers ---"));
 
-	cid = 0; found = 0;
-	fib = aac_grab_sync_fib(softs, SLEEP_FUNC);
+	cid = found = 0;
+	fibp = aac_grab_sync_fib(softs, SLEEP_FUNC);
 
 	do {
-		if ((mir = aac_get_container_info(softs, fib, cid)) == NULL)
+		struct aac_mntinforesp *mir;
+		uint64_t ct_size;
+		struct aac_Container *ct;
+
+		if ((mir = aac_get_container_info(softs, fibp, cid)) == NULL)
 			goto next;
 
 		count = mir->MntRespCount;
-		if ((mir->Status != 0) || (mir->MntObj.VolType == CT_NONE))
+		if ((mir->Status != 0) ||
+		    (mir->MntObj.VolType == CT_NONE))
 			goto next;
 
 		found = 1;
 		ct_size = AAC_MIR_SIZE(softs, mir);
 		if (softs->container[cid].valid == 0) {
-			if ((ct = aac_get_container_uid(softs, fib, cid))
-				== NULL)
+			if ((ct = aac_get_container_uid(softs, fibp,
+			    cid)) == NULL)
 				goto next;
 			if (ct->CTCommand.param[0] != CT_OK)
 				goto next;
 
 			AACDB_PRINT((CE_NOTE, ">>> Container %d added", cid));
-			aac_init_container(softs,
-				cid, ct->CTCommand.param[1], ct_size);
+			aac_init_container(softs, cid, ct->CTCommand.param[1],
+			    ct_size);
 			if ((cid + 1) > softs->container_count)
 				softs->container_count = cid + 1;
 		} else {
 			if (softs->container[cid].size != ct_size) {
 #ifdef	_LP64
 				AACDB_PRINT((CE_NOTE,
-					">>> Container %u size changed to %lu",
-					cid, ct_size));
+				    ">>> Container %u size changed to %lu",
+				    cid, ct_size));
 #else
 				AACDB_PRINT((CE_NOTE,
-					">>> Container %u size changed to %llu",
-					cid, ct_size));
+				    ">>> Container %u size changed to %llu",
+				    cid, ct_size));
 #endif
 				softs->container[cid].size = ct_size;
 			}
@@ -2325,7 +2322,7 @@
 		if ((found == 0) && softs->container[cid].valid) {
 			AACDB_PRINT((CE_NOTE, ">>> Container %d deleted", cid));
 			bzero(&softs->container[cid],
-				sizeof (struct aac_container));
+			    sizeof (struct aac_container));
 		}
 
 		if (mir)
@@ -2338,9 +2335,10 @@
 		for (cid = count; cid < softs->container_count; cid++) {
 			if (softs->container[cid].valid == 0)
 				continue;
-			AACDB_PRINT((CE_NOTE, ">>> Container %d deleted", cid));
+			AACDB_PRINT((CE_NOTE, ">>> Container %d deleted",
+			    cid));
 			bzero(&softs->container[cid],
-				sizeof (struct aac_container));
+			    sizeof (struct aac_container));
 		}
 		softs->container_count = count;
 	}
@@ -2357,41 +2355,41 @@
 
 	/* Allocate DMA for comm. space */
 	if (ddi_dma_alloc_handle(
-		softs->devinfo_p,
-		&softs->addr_dma_attr,
-		DDI_DMA_SLEEP,
-		NULL,
-		&softs->comm_space_dma_handle) != DDI_SUCCESS) {
+	    softs->devinfo_p,
+	    &softs->addr_dma_attr,
+	    DDI_DMA_SLEEP,
+	    NULL,
+	    &softs->comm_space_dma_handle) != DDI_SUCCESS) {
 		AACDB_PRINT((CE_WARN,
-			"Cannot alloc dma handle for communication area"));
+		    "Cannot alloc dma handle for communication area"));
 		goto error;
 	}
 	if (ddi_dma_mem_alloc(
-		softs->comm_space_dma_handle,
-		sizeof (struct aac_comm_space),
-		&aac_acc_attr,
-		DDI_DMA_RDWR | DDI_DMA_CONSISTENT,
-		DDI_DMA_SLEEP,
-		NULL,
-		(caddr_t *)&softs->comm_space,
-		&rlen,
-		&softs->comm_space_acc_handle) != DDI_SUCCESS) {
+	    softs->comm_space_dma_handle,
+	    sizeof (struct aac_comm_space),
+	    &aac_acc_attr,
+	    DDI_DMA_RDWR | DDI_DMA_CONSISTENT,
+	    DDI_DMA_SLEEP,
+	    NULL,
+	    (caddr_t *)&softs->comm_space,
+	    &rlen,
+	    &softs->comm_space_acc_handle) != DDI_SUCCESS) {
 		AACDB_PRINT((CE_WARN,
-			"Cannot alloc mem for communication area"));
+		    "Cannot alloc mem for communication area"));
 		goto error;
 	}
 	if (ddi_dma_addr_bind_handle(
-		softs->comm_space_dma_handle,
-		NULL,
-		(caddr_t)softs->comm_space,
-		sizeof (struct aac_comm_space),
-		DDI_DMA_RDWR | DDI_DMA_CONSISTENT,
-		DDI_DMA_SLEEP,
-		NULL,
-		&cookie,
-		&cookien) != DDI_DMA_MAPPED) {
+	    softs->comm_space_dma_handle,
+	    NULL,
+	    (caddr_t)softs->comm_space,
+	    sizeof (struct aac_comm_space),
+	    DDI_DMA_RDWR | DDI_DMA_CONSISTENT,
+	    DDI_DMA_SLEEP,
+	    NULL,
+	    &cookie,
+	    &cookien) != DDI_DMA_MAPPED) {
 		AACDB_PRINT((CE_WARN,
-			"DMA bind failed for communication area"));
+		    "DMA bind failed for communication area"));
 		goto error;
 	}
 	softs->comm_space_phyaddr = cookie.dmac_address;
@@ -2399,7 +2397,7 @@
 	/* Setup sync FIB space */
 	softs->sync_mode.fib = &softs->comm_space->sync_fib;
 	softs->sync_mode.fib_phyaddr = softs->comm_space_phyaddr + \
-		AACOFFSET(struct aac_comm_space, sync_fib);
+	    AACOFFSET(struct aac_comm_space, sync_fib);
 
 	return (AACOK);
 
@@ -2460,88 +2458,87 @@
 		 * important shared data structures
 		 */
 		initp->AdapterFibsPhysicalAddress = comm_space_phyaddr + \
-			AACOFFSET(struct aac_comm_space, adapter_fibs);
+		    AACOFFSET(struct aac_comm_space, adapter_fibs);
 		initp->AdapterFibsVirtualAddress = 0;
 		initp->AdapterFibAlign = sizeof (struct aac_fib);
 		initp->AdapterFibsSize = AAC_ADAPTER_FIBS * \
-			sizeof (struct aac_fib);
+		    sizeof (struct aac_fib);
 		initp->PrintfBufferAddress = comm_space_phyaddr + \
-			AACOFFSET(struct aac_comm_space, adapter_print_buf);
+		    AACOFFSET(struct aac_comm_space, adapter_print_buf);
 		initp->PrintfBufferSize = AAC_ADAPTER_PRINT_BUFSIZE;
 		initp->MiniPortRevision = AAC_INIT_STRUCT_MINIPORT_REVISION;
 		initp->HostPhysMemPages = AAC_MAX_PFN;
 
 		qoffset = (comm_space_phyaddr + \
-			AACOFFSET(struct aac_comm_space, qtable)) % \
-			AAC_QUEUE_ALIGN;
+		    AACOFFSET(struct aac_comm_space, qtable)) % \
+		    AAC_QUEUE_ALIGN;
 		if (qoffset)
 			qoffset = AAC_QUEUE_ALIGN - qoffset;
 		softs->qtablep = (struct aac_queue_table *) \
-			((char *)&softs->comm_space->qtable + qoffset);
+		    ((char *)&softs->comm_space->qtable + qoffset);
 		initp->CommHeaderAddress = comm_space_phyaddr + \
-			AACOFFSET(struct aac_comm_space, qtable) + qoffset;
+		    AACOFFSET(struct aac_comm_space, qtable) + qoffset;
 
 		/* Init queue table */
 		softs->qtablep->qt_qindex[AAC_HOST_NORM_CMD_Q] \
-			[AAC_PRODUCER_INDEX] = AAC_HOST_NORM_CMD_ENTRIES;
+		    [AAC_PRODUCER_INDEX] = AAC_HOST_NORM_CMD_ENTRIES;
 		softs->qtablep->qt_qindex[AAC_HOST_NORM_CMD_Q] \
-			[AAC_CONSUMER_INDEX] = AAC_HOST_NORM_CMD_ENTRIES;
+		    [AAC_CONSUMER_INDEX] = AAC_HOST_NORM_CMD_ENTRIES;
 		softs->qtablep->qt_qindex[AAC_HOST_HIGH_CMD_Q] \
-			[AAC_PRODUCER_INDEX] = AAC_HOST_HIGH_CMD_ENTRIES;
+		    [AAC_PRODUCER_INDEX] = AAC_HOST_HIGH_CMD_ENTRIES;
 		softs->qtablep->qt_qindex[AAC_HOST_HIGH_CMD_Q] \
-			[AAC_CONSUMER_INDEX] = AAC_HOST_HIGH_CMD_ENTRIES;
+		    [AAC_CONSUMER_INDEX] = AAC_HOST_HIGH_CMD_ENTRIES;
 		softs->qtablep->qt_qindex[AAC_ADAP_NORM_CMD_Q] \
-			[AAC_PRODUCER_INDEX] = AAC_ADAP_NORM_CMD_ENTRIES;
+		    [AAC_PRODUCER_INDEX] = AAC_ADAP_NORM_CMD_ENTRIES;
 		softs->qtablep->qt_qindex[AAC_ADAP_NORM_CMD_Q] \
-			[AAC_CONSUMER_INDEX] = AAC_ADAP_NORM_CMD_ENTRIES;
+		    [AAC_CONSUMER_INDEX] = AAC_ADAP_NORM_CMD_ENTRIES;
 		softs->qtablep->qt_qindex[AAC_ADAP_HIGH_CMD_Q] \
-			[AAC_PRODUCER_INDEX] = AAC_ADAP_HIGH_CMD_ENTRIES;
+		    [AAC_PRODUCER_INDEX] = AAC_ADAP_HIGH_CMD_ENTRIES;
 		softs->qtablep->qt_qindex[AAC_ADAP_HIGH_CMD_Q] \
-			[AAC_CONSUMER_INDEX] = AAC_ADAP_HIGH_CMD_ENTRIES;
+		    [AAC_CONSUMER_INDEX] = AAC_ADAP_HIGH_CMD_ENTRIES;
 		softs->qtablep->qt_qindex[AAC_HOST_NORM_RESP_Q] \
-			[AAC_PRODUCER_INDEX] = AAC_HOST_NORM_RESP_ENTRIES;
+		    [AAC_PRODUCER_INDEX] = AAC_HOST_NORM_RESP_ENTRIES;
 		softs->qtablep->qt_qindex[AAC_HOST_NORM_RESP_Q] \
-			[AAC_CONSUMER_INDEX] = AAC_HOST_NORM_RESP_ENTRIES;
+		    [AAC_CONSUMER_INDEX] = AAC_HOST_NORM_RESP_ENTRIES;
 		softs->qtablep->qt_qindex[AAC_HOST_HIGH_RESP_Q] \
-			[AAC_PRODUCER_INDEX] = AAC_HOST_HIGH_RESP_ENTRIES;
+		    [AAC_PRODUCER_INDEX] = AAC_HOST_HIGH_RESP_ENTRIES;
 		softs->qtablep->qt_qindex[AAC_HOST_HIGH_RESP_Q] \
-			[AAC_CONSUMER_INDEX] = AAC_HOST_HIGH_RESP_ENTRIES;
+		    [AAC_CONSUMER_INDEX] = AAC_HOST_HIGH_RESP_ENTRIES;
 		softs->qtablep->qt_qindex[AAC_ADAP_NORM_RESP_Q] \
-			[AAC_PRODUCER_INDEX] = AAC_ADAP_NORM_RESP_ENTRIES;
+		    [AAC_PRODUCER_INDEX] = AAC_ADAP_NORM_RESP_ENTRIES;
 		softs->qtablep->qt_qindex[AAC_ADAP_NORM_RESP_Q] \
-			[AAC_CONSUMER_INDEX] = AAC_ADAP_NORM_RESP_ENTRIES;
+		    [AAC_CONSUMER_INDEX] = AAC_ADAP_NORM_RESP_ENTRIES;
 		softs->qtablep->qt_qindex[AAC_ADAP_HIGH_RESP_Q] \
-			[AAC_PRODUCER_INDEX] = AAC_ADAP_HIGH_RESP_ENTRIES;
+		    [AAC_PRODUCER_INDEX] = AAC_ADAP_HIGH_RESP_ENTRIES;
 		softs->qtablep->qt_qindex[AAC_ADAP_HIGH_RESP_Q] \
-			[AAC_CONSUMER_INDEX] = AAC_ADAP_HIGH_RESP_ENTRIES;
+		    [AAC_CONSUMER_INDEX] = AAC_ADAP_HIGH_RESP_ENTRIES;
 
 		/* Init queue entries */
 		softs->qentries[AAC_HOST_NORM_CMD_Q] =
-			&softs->qtablep->qt_HostNormCmdQueue[0];
+		    &softs->qtablep->qt_HostNormCmdQueue[0];
 		softs->qentries[AAC_HOST_HIGH_CMD_Q] =
-			&softs->qtablep->qt_HostHighCmdQueue[0];
+		    &softs->qtablep->qt_HostHighCmdQueue[0];
 		softs->qentries[AAC_ADAP_NORM_CMD_Q] =
-			&softs->qtablep->qt_AdapNormCmdQueue[0];
+		    &softs->qtablep->qt_AdapNormCmdQueue[0];
 		softs->qentries[AAC_ADAP_HIGH_CMD_Q] =
-			&softs->qtablep->qt_AdapHighCmdQueue[0];
+		    &softs->qtablep->qt_AdapHighCmdQueue[0];
 		softs->qentries[AAC_HOST_NORM_RESP_Q] =
-			&softs->qtablep->qt_HostNormRespQueue[0];
+		    &softs->qtablep->qt_HostNormRespQueue[0];
 		softs->qentries[AAC_HOST_HIGH_RESP_Q] =
-			&softs->qtablep->qt_HostHighRespQueue[0];
+		    &softs->qtablep->qt_HostHighRespQueue[0];
 		softs->qentries[AAC_ADAP_NORM_RESP_Q] =
-			&softs->qtablep->qt_AdapNormRespQueue[0];
+		    &softs->qtablep->qt_AdapNormRespQueue[0];
 		softs->qentries[AAC_ADAP_HIGH_RESP_Q] =
-			&softs->qtablep->qt_AdapHighRespQueue[0];
+		    &softs->qtablep->qt_AdapHighRespQueue[0];
 	}
 
 	/* Send init structure to the card */
-	if (aac_sync_mbcommand(softs,
-		AAC_MONKER_INITSTRUCT,
-		comm_space_phyaddr + \
-		AACOFFSET(struct aac_comm_space, init_data),
-		0, 0, 0, NULL) == AACERR) {
+	if (aac_sync_mbcommand(softs, AAC_MONKER_INITSTRUCT,
+	    comm_space_phyaddr + \
+	    AACOFFSET(struct aac_comm_space, init_data),
+	    0, 0, 0, NULL) == AACERR) {
 		AACDB_PRINT((CE_WARN,
-			"Cannot send init structrue to adapter"));
+		    "Cannot send init structrue to adapter"));
 		return (AACERR);
 	}
 
@@ -2586,7 +2583,7 @@
  */
 static void
 aac_inquiry(struct aac_softstate *softs, struct scsi_pkt *pkt,
-	union scsi_cdb *cdbp, struct buf *bp)
+    union scsi_cdb *cdbp, struct buf *bp)
 {
 	int tgt = pkt->pkt_address.a_target;
 	char *b_addr = NULL;
@@ -2663,27 +2660,25 @@
 			sp = aac_vendor_id(softs, sp);
 			sp = aac_product_id(softs, sp);
 			sp = aac_lun_serialno(softs, tgt, sp);
-			idp[AAC_VPD_ID_LENGTH] =
-				sp - &idp[AAC_VPD_ID_DATA];
+			idp[AAC_VPD_ID_LENGTH] = sp - &idp[AAC_VPD_ID_DATA];
 
 			vpdp[AAC_VPD_PAGE_LENGTH] =
-				sp - &vpdp[AAC_VPD_PAGE_DATA];
+			    sp - &vpdp[AAC_VPD_PAGE_DATA];
 			pkt->pkt_state |= STATE_XFERRED_DATA;
 			break;
 
 		default:
 			aac_set_arq_data(pkt, KEY_ILLEGAL_REQUEST,
-				0x24, 0x00, 0);
+			    0x24, 0x00, 0);
 			break;
 		}
 	} else {
-		struct scsi_inquiry *inqp =
-			(struct scsi_inquiry *)b_addr;
+		struct scsi_inquiry *inqp = (struct scsi_inquiry *)b_addr;
 		size_t len = sizeof (struct scsi_inquiry);
 
 		if (page != 0) {
 			aac_set_arq_data(pkt, KEY_ILLEGAL_REQUEST,
-				0x24, 0x00, 0);
+			    0x24, 0x00, 0);
 			return;
 		}
 		if (inqp == NULL)
@@ -2712,7 +2707,7 @@
  */
 static void
 aac_mode_sense(struct aac_softstate *softs, struct scsi_pkt *pkt,
-	union scsi_cdb *cdbp, struct buf *bp, int capacity)
+    union scsi_cdb *cdbp, struct buf *bp, int capacity)
 {
 	uchar_t pagecode;
 	struct mode_format *page3p;
@@ -2734,7 +2729,7 @@
 	/* SBC-3 7.1.3.3 Format device page */
 	case SD_MODE_SENSE_PAGE3_CODE:
 		page3p = (struct mode_format *)((caddr_t)headerp +
-			MODE_HEADER_LENGTH + MODE_BLK_DESC_LENGTH);
+		    MODE_HEADER_LENGTH + MODE_BLK_DESC_LENGTH);
 		page3p->mode_page.code = SD_MODE_SENSE_PAGE3_CODE;
 		page3p->mode_page.length = sizeof (struct mode_format);
 		page3p->data_bytes_sect = BE_16(AAC_SECTOR_SIZE);
@@ -2744,7 +2739,7 @@
 	/* SBC-3 7.1.3.8 Rigid disk device geometry page */
 	case SD_MODE_SENSE_PAGE4_CODE:
 		page4p = (struct mode_geometry *)((caddr_t)headerp +
-			MODE_HEADER_LENGTH + MODE_BLK_DESC_LENGTH);
+		    MODE_HEADER_LENGTH + MODE_BLK_DESC_LENGTH);
 		page4p->mode_page.code = SD_MODE_SENSE_PAGE4_CODE;
 		page4p->mode_page.length = sizeof (struct mode_geometry);
 		page4p->heads = AAC_NUMBER_OF_HEADS;
@@ -2760,14 +2755,15 @@
 			struct mode_control_scsi3 *mctl;
 
 			mctl = (struct mode_control_scsi3 *)((caddr_t)headerp +
-				MODE_HEADER_LENGTH + MODE_BLK_DESC_LENGTH);
+			    MODE_HEADER_LENGTH + MODE_BLK_DESC_LENGTH);
 			mctl->mode_page.code = MODEPAGE_CTRL_MODE;
 			mctl->mode_page.length =
-				sizeof (struct mode_control_scsi3) -
-				sizeof (struct mode_page);
+			    sizeof (struct mode_control_scsi3) -
+			    sizeof (struct mode_page);
 			mctl->d_sense = 1;
-		} else
+		} else {
 			bzero(bp->b_un.b_addr, bp->b_bcount);
+		}
 		break;
 
 	default:
@@ -2779,9 +2775,9 @@
 /*ARGSUSED*/
 static int
 aac_tran_tgt_init(dev_info_t *hba_dip, dev_info_t *tgt_dip,
-	scsi_hba_tran_t *tran, struct scsi_device *sd)
+    scsi_hba_tran_t *tran, struct scsi_device *sd)
 {
-	struct aac_softstate  *softs;
+	struct aac_softstate *softs = AAC_TRAN2SOFTS(tran);
 	int tgt = sd->sd_address.a_target;
 	int lun = sd->sd_address.a_lun;
 
@@ -2789,18 +2785,20 @@
 
 	if ((0 > tgt) || (tgt >= AAC_MAX_LD)) {
 		AACDB_PRINT((CE_NOTE,
-			"aac_tran_tgt_init: t%dL%d out", tgt, lun));
+		    "aac_tran_tgt_init: t%dL%d out", tgt, lun));
 		return (DDI_FAILURE);
 	}
-	softs = AAC_TRAN2SOFTS(tran);
+
+	/*
+	 * Only support container that has been detected and valid
+	 */
 	if (softs->container[tgt].valid && (lun == 0)) {
-		/* Only support container that has been detected and valid */
 		AACDB_PRINT((CE_NOTE,
-			"aac_tran_tgt_init: t%dL%d ok", tgt, lun));
+		    "aac_tran_tgt_init: t%dL%d ok", tgt, lun));
 		return (DDI_SUCCESS);
 	} else {
 		AACDB_PRINT((CE_NOTE,
-			"aac_tran_tgt_init: t%dL%d", tgt, lun));
+		    "aac_tran_tgt_init: t%dL%d", tgt, lun));
 		return (DDI_FAILURE);
 	}
 }
@@ -2815,25 +2813,25 @@
 static int
 aac_check_adapter_health(struct aac_softstate *softs)
 {
-	int ret;
-
-	ret = PCI_MEM_GET32(softs, AAC_OMR0);
-
-	if (ret & AAC_KERNEL_UP_AND_RUNNING)
-		ret = 0;
-	else if (ret & AAC_KERNEL_PANIC)
-		ret = ((ret >> 16) & 0xff) + 1; /* avoid 0 as return value */
+	int rval;
+
+	rval = PCI_MEM_GET32(softs, AAC_OMR0);
+
+	if (rval & AAC_KERNEL_UP_AND_RUNNING)
+		rval = 0;
+	else if (rval & AAC_KERNEL_PANIC)
+		rval = ((rval >> 16) & 0xff) + 1; /* avoid 0 as return value */
 	else
-		ret = -1;
-
-	return (ret);
+		rval = -1;
+
+	return (rval);
 }
 
 static int
 aac_quiesce_adapter(struct aac_softstate *softs)
 {
-	int ret = AACERR;
 	int count = 0;
+	int rval = AACERR;
 
 	ASSERT(rw_read_locked(&softs->errlock) == 0);
 
@@ -2843,9 +2841,9 @@
 	 */
 	while (aac_check_adapter_health(softs) == 0) {
 		if ((softs->q_wait_sync.q_len == 0) &&
-			(softs->slot_hold == 1 || softs->q_wait.q_len == 0) &&
-			(softs->free_io_slot_len == softs->total_fibs)) {
-			ret = AACOK;
+		    (softs->slot_hold == 1 || softs->q_wait.q_len == 0) &&
+		    (softs->free_io_slot_len == softs->total_fibs)) {
+			rval = AACOK;
 			break;
 		}
 		/*
@@ -2858,7 +2856,7 @@
 		count++;
 	}
 
-	return (ret);
+	return (rval);
 }
 
 /*
@@ -2882,9 +2880,10 @@
 		 * NOTE: interrupt should have been fully disabled before
 		 * aborting outstanding commands when doing IOP reset
 		 */
-		for (i = 0; i < AAC_MAX_LD; i++)
+		for (i = 0; i < AAC_MAX_LD; i++) {
 			if (softs->container[i].valid)
 				softs->container[i].reset = 1;
+		}
 		for (i = 0; i < softs->total_fibs; i++) {
 			/*
 			 * Now no other will touch the free slot queue entries,
@@ -2901,7 +2900,7 @@
 			acp->state = AAC_CMD_ABORT;
 
 			if ((slotp->fibp->Header.XferState &
-				AAC_FIBSTATE_ASYNC) == 0) {
+			    AAC_FIBSTATE_ASYNC) == 0) {
 				/* IOCTL */
 				mutex_enter(&softs->event_mutex);
 				cv_broadcast(&softs->event);
@@ -2974,28 +2973,28 @@
 		(void) aac_shutdown(softs);
 
 	/* Execute IOP reset */
-	if ((aac_sync_mbcommand(softs, AAC_IOP_RESET, 0, 0, 0, 0, &status))
-		!= AACOK) {
-		struct aac_fib *fib;
+	if ((aac_sync_mbcommand(softs, AAC_IOP_RESET, 0, 0, 0, 0,
+	    &status)) != AACOK) {
+		struct aac_fib *fibp;
 		struct aac_pause_command *pc;
 
-		if (status == AAC_SRB_STS_INVALID_REQUEST)
+		if (status == SRB_STATUS_INVALID_REQUEST)
 			cmn_err(CE_WARN, "!IOP_RESET not supported");
 		else /* probably timeout */
 			cmn_err(CE_WARN, "!IOP_RESET failed");
 
 		/* Unwind aac_shutdown() */
-		fib = aac_grab_sync_fib(softs, SLEEP_FUNC);
-		pc = (struct aac_pause_command *)&fib->data[0];
+		fibp = aac_grab_sync_fib(softs, SLEEP_FUNC);
+		pc = (struct aac_pause_command *)&fibp->data[0];
 		pc->Command = VM_ContainerConfig;
 		pc->Type = CT_PAUSE_IO;
 		pc->Timeout = 1;
 		pc->Min = 1;
 		pc->NoRescan = 1;
 
-		(void) aac_sync_fib(softs, ContainerCommand, fib,
-			sizeof (struct aac_fib_header) + \
-			sizeof (struct aac_pause_command));
+		(void) aac_sync_fib(softs, ContainerCommand, fibp,
+		    sizeof (struct aac_fib_header) + \
+		    sizeof (struct aac_pause_command));
 		aac_release_sync_fib(softs);
 
 		goto finish;
@@ -3013,15 +3012,14 @@
 
 finish:
 	AAC_ENABLE_INTR(softs);
-
 	return (rval);
 }
 
 static int
 aac_do_reset(struct aac_softstate *softs)
 {
-	int ret = AACOK;
 	int old_state;
+	int rval = AACOK;
 
 	rw_enter(&softs->errlock, RW_WRITER);
 	old_state = softs->state;
@@ -3033,27 +3031,25 @@
 	 */
 	if (aac_quiesce_adapter(softs) != AACOK) {
 		if (aac_reset_adapter(softs) != AACOK)
-			ret = AACERR;
+			rval = AACERR;
 	} else if (softs->q_wait.q_len > 0) {
 		aac_abort_iocmds(softs, AAC_IOCMD_ASYNC);
 	}
 
-	softs->state = (ret == AACERR) ? AAC_STATE_DEAD : old_state;
+	softs->state = (rval == AACERR) ? AAC_STATE_DEAD : old_state;
 	rw_exit(&softs->errlock);
 
-	return (ret);
+	return (rval);
 }
 
 /*ARGSUSED*/
 static int
 aac_tran_reset(struct scsi_address *ap, int level)
 {
-	struct aac_softstate *softs;
+	struct aac_softstate *softs = AAC_TRAN2SOFTS(ap->a_hba_tran);
 
 	DBCALLED(1);
 
-	softs = AAC_TRAN2SOFTS(ap->a_hba_tran);
-
 	/*
 	 * Core dump is a crucial method to analyze problems after panic,
 	 * however if tran_reset() return FAILURE to sd driver, the OS
@@ -3064,10 +3060,10 @@
 		if ((softs->flags & AAC_FLAGS_NEW_COMM) == 0) {
 			uint32_t *pip, *cip;
 
-			pip = &(softs->qtablep->qt_qindex
-				[AAC_ADAP_NORM_CMD_Q][AAC_PRODUCER_INDEX]);
-			cip = &(softs->qtablep->qt_qindex
-				[AAC_ADAP_NORM_CMD_Q][AAC_CONSUMER_INDEX]);
+			pip = &(softs->qtablep->qt_qindex \
+			    [AAC_ADAP_NORM_CMD_Q][AAC_PRODUCER_INDEX]);
+			cip = &(softs->qtablep->qt_qindex \
+			    [AAC_ADAP_NORM_CMD_Q][AAC_CONSUMER_INDEX]);
 			AAC_BUSYWAIT(*pip == *cip, 6 * 1000);
 			if (*pip != *cip)
 				return (0);
@@ -3090,7 +3086,7 @@
 static int
 aac_tran_abort(struct scsi_address *ap, struct scsi_pkt *pkt)
 {
-	struct aac_softstate *softs;
+	struct aac_softstate *softs = AAC_TRAN2SOFTS(ap->a_hba_tran);
 	int old_slot_hold;
 
 	DBCALLED(1);
@@ -3098,7 +3094,6 @@
 	if (pkt != NULL)
 		return (0);
 
-	softs = AAC_TRAN2SOFTS(ap->a_hba_tran);
 	rw_enter(&softs->errlock, RW_WRITER);
 
 	old_slot_hold = softs->slot_hold;
@@ -3111,66 +3106,64 @@
 }
 
 static void
-aac_free_dmamap(struct aac_cmd *ac)
+aac_free_dmamap(struct aac_cmd *acp)
 {
 	/* Free dma mapping */
-	if (ac->flags & AAC_CMD_DMA_VALID) {
-		ASSERT(ac->buf_dma_handle);
-		(void) ddi_dma_unbind_handle(ac->buf_dma_handle);
-		ac->flags &= ~AAC_CMD_DMA_VALID;
+	if (acp->flags & AAC_CMD_DMA_VALID) {
+		ASSERT(acp->buf_dma_handle);
+		(void) ddi_dma_unbind_handle(acp->buf_dma_handle);
+		acp->flags &= ~AAC_CMD_DMA_VALID;
 	}
 
-	if (ac->abp != NULL) { /* free non-aligned buf DMA */
-		ASSERT(ac->buf_dma_handle);
-		ddi_dma_mem_free(&ac->abh);
-		ac->abp = NULL;
+	if (acp->abp != NULL) { /* free non-aligned buf DMA */
+		ASSERT(acp->buf_dma_handle);
+		ddi_dma_mem_free(&acp->abh);
+		acp->abp = NULL;
 	}
 
-	if (ac->buf_dma_handle) {
-		ddi_dma_free_handle(&ac->buf_dma_handle);
-		ac->buf_dma_handle = NULL;
+	if (acp->buf_dma_handle) {
+		ddi_dma_free_handle(&acp->buf_dma_handle);
+		acp->buf_dma_handle = NULL;
 	}
 }
 
 static int
 aac_tran_start(struct scsi_address *ap, struct scsi_pkt *pkt)
 {
-	struct aac_softstate *softs;
-	struct aac_cmd *ac;
+	struct aac_softstate *softs = AAC_TRAN2SOFTS(ap->a_hba_tran);
+	struct aac_cmd *acp;
 	struct aac_fib *fibp;
+	union scsi_cdb *cdbp;
 	struct buf *bp;
-	union scsi_cdb *cdbp;
 	uchar_t cmd;
-	int ret_val;
 	int target = ap->a_target;
 	int lun = ap->a_lun;
 	int capacity;
 	uint64_t blkno;
 	uint32_t blkcnt;
+	int rval;
 
 	DBCALLED(2);
 
-	softs = AAC_TRAN2SOFTS(ap->a_hba_tran);
-
 	if (!softs->container[target].valid || lun != 0 ||
-		softs->state == AAC_STATE_DEAD) {
+	    softs->state == AAC_STATE_DEAD) {
 		AACDB_PRINT((CE_WARN,
-			"Cannot send cmd to target t%dL%d: %s",
-			target, lun,
-			(softs->state == AAC_STATE_DEAD) ?
-			"adapter dead" : "target invalid"));
+		    "Cannot send cmd to target t%dL%d: %s",
+		    target, lun,
+		    (softs->state == AAC_STATE_DEAD) ?
+		    "adapter dead" : "target invalid"));
 		return (TRAN_FATAL_ERROR);
 	}
 
 	rw_enter(&softs->errlock, RW_READER);
 
 	/* Init ac and pkt */
-	ac = PKT2AC(pkt);
+	acp = PKT2AC(pkt);
 	cdbp = (union scsi_cdb *)pkt->pkt_cdbp;
-	bp = ac->bp;
+	bp = acp->bp;
 	cmd = cdbp->scc_cmd;
-	ac->flags |= (pkt->pkt_flags & FLAG_NOINTR) ? AAC_CMD_NO_INTR : 0;
-	ac->state = AAC_CMD_INCMPLT;
+	acp->flags |= (pkt->pkt_flags & FLAG_NOINTR) ? AAC_CMD_NO_INTR : 0;
+	acp->state = AAC_CMD_INCMPLT;
 	pkt->pkt_state = 0;
 	pkt->pkt_statistics = STAT_SYNC;
 	*pkt->pkt_scbp = 0; /* clear arq scsi_status */
@@ -3179,15 +3172,15 @@
 
 	switch (cmd) {
 	case SCMD_INQUIRY: /* inquiry */
-		ac->flags |= AAC_CMD_SOFT_INTR;
-		aac_free_dmamap(ac);
+		acp->flags |= AAC_CMD_SOFT_INTR;
+		aac_free_dmamap(acp);
 		aac_inquiry(softs, pkt, cdbp, bp);
-		aac_soft_callback(softs, ac, CMD_CMPLT);
-		ret_val = TRAN_ACCEPT;
+		aac_soft_callback(softs, acp, CMD_CMPLT);
+		rval = TRAN_ACCEPT;
 		break;
 
 	case SCMD_READ_CAPACITY: /* read capacity */
-		ac->flags |= AAC_CMD_SOFT_INTR;
+		acp->flags |= AAC_CMD_SOFT_INTR;
 		if (bp && bp->b_un.b_addr && bp->b_bcount) {
 			struct scsi_capacity cap;
 			uint64_t last_lba;
@@ -3195,20 +3188,20 @@
 			/* check 64-bit LBA */
 			last_lba = softs->container[target].size - 1;
 			if (last_lba > 0xffffffffull) {
-				cap.capacity = 0xffffffff;
+				cap.capacity = 0xfffffffful;
 			} else {
 				cap.capacity = BE_32(last_lba);
 			}
 			cap.lbasize = BE_32(AAC_SECTOR_SIZE);
 
-			aac_free_dmamap(ac);
+			aac_free_dmamap(acp);
 			if (bp->b_flags & (B_PHYS|B_PAGEIO))
 				bp_mapin(bp);
 			bcopy(&cap, bp->b_un.b_addr, 8);
 			pkt->pkt_state |= STATE_XFERRED_DATA;
 		}
-		aac_soft_callback(softs, ac, CMD_CMPLT);
-		ret_val = TRAN_ACCEPT;
+		aac_soft_callback(softs, acp, CMD_CMPLT);
+		rval = TRAN_ACCEPT;
 		break;
 
 	case SCMD_SVC_ACTION_IN_G4: /* read capacity 16 */
@@ -3216,24 +3209,24 @@
 		if (cdbp->cdb_opaque[1] != SSVC_ACTION_READ_CAPACITY_G4)
 			goto unknown;
 
-		ac->flags |= AAC_CMD_SOFT_INTR;
+		acp->flags |= AAC_CMD_SOFT_INTR;
 		if (bp && bp->b_un.b_addr && bp->b_bcount) {
 			struct scsi_capacity_16 cap16;
 			int cap_len = sizeof (struct scsi_capacity_16);
 
 			bzero(&cap16, cap_len);
 			cap16.sc_capacity =
-				BE_64(softs->container[target].size);
+			    BE_64(softs->container[target].size);
 			cap16.sc_lbasize = BE_32(AAC_SECTOR_SIZE);
 
-			aac_free_dmamap(ac);
+			aac_free_dmamap(acp);
 			if (bp->b_flags & (B_PHYS | B_PAGEIO))
 				bp_mapin(bp);
 			bcopy(&cap16, bp->b_un.b_addr, cap_len);
 			pkt->pkt_state |= STATE_XFERRED_DATA;
 		}
-		aac_soft_callback(softs, ac, CMD_CMPLT);
-		ret_val = TRAN_ACCEPT;
+		aac_soft_callback(softs, acp, CMD_CMPLT);
+		rval = TRAN_ACCEPT;
 		break;
 
 	case SCMD_READ_G4: /* read_16 */
@@ -3248,48 +3241,50 @@
 	case SCMD_READ_G1: /* read_10 */
 	case SCMD_WRITE: /* write_6 */
 	case SCMD_WRITE_G1: /* write_10 */
-		ac->flags |= AAC_CMD_HARD_INTR;
-		if (!(ac->flags & AAC_CMD_DMA_VALID) ||
-			!(ac->fib.Header.XferState &
-			AAC_FIBSTATE_HOSTOWNED)) {
-			ret_val = TRAN_BADPKT;
+		acp->flags |= AAC_CMD_HARD_INTR;
+		if (!(acp->flags & AAC_CMD_DMA_VALID) ||
+		    !(acp->fib.Header.XferState & AAC_FIBSTATE_HOSTOWNED)) {
+			rval = TRAN_BADPKT;
 			break;
 		}
 
-		blkno = AAC_GETGXADDR(ac->cmdlen, cdbp);
-		fibp = &ac->fib;
+		blkno = AAC_GETGXADDR(acp->cmdlen, cdbp);
+		fibp = &acp->fib;
 		if (softs->flags & AAC_FLAGS_RAW_IO) {
 			/* Fill in correct blkno */
 			struct aac_raw_io *io =
-				(struct aac_raw_io *)&fibp->data[0];
+			    (struct aac_raw_io *)&fibp->data[0];
+
 			io->BlockNumber = blkno;
-			io->Flags = (ac->flags & AAC_CMD_BUF_READ) ? 1:0;
+			io->Flags = (acp->flags & AAC_CMD_BUF_READ) ? 1:0;
 			blkcnt = io->ByteCount / AAC_BLK_SIZE;
 		} else if (softs->flags & AAC_FLAGS_SG_64BIT) {
 			/* Fill in correct blkno */
-			if (ac->flags & AAC_CMD_BUF_READ) {
+			if (acp->flags & AAC_CMD_BUF_READ) {
 				struct aac_blockread64 *br =
-					(struct aac_blockread64 *) \
-					&fibp->data[0];
+				    (struct aac_blockread64 *)&fibp->data[0];
+
 				br->BlockNumber = (uint32_t)blkno;
 				blkcnt = br->SectorCount;
 			} else {
 				struct aac_blockwrite64 *bw =
-					(struct aac_blockwrite64 *) \
-					&fibp->data[0];
+				    (struct aac_blockwrite64 *)&fibp->data[0];
+
 				bw->BlockNumber = (uint32_t)blkno;
 				blkcnt = bw->SectorCount;
 			}
 		} else {
 			/* Fill in correct blkno */
-			if (ac->flags & AAC_CMD_BUF_READ) {
+			if (acp->flags & AAC_CMD_BUF_READ) {
 				struct aac_blockread *br =
-					(struct aac_blockread *)&fibp->data[0];
+				    (struct aac_blockread *)&fibp->data[0];
+
 				br->BlockNumber = (uint32_t)blkno;
 				blkcnt = br->ByteCount / AAC_BLK_SIZE;
 			} else {
 				struct aac_blockwrite *bw =
-					(struct aac_blockwrite *)&fibp->data[0];
+				    (struct aac_blockwrite *)&fibp->data[0];
+
 				bw->BlockNumber = (uint32_t)blkno;
 				blkcnt = bw->ByteCount / AAC_BLK_SIZE;
 			}
@@ -3301,46 +3296,47 @@
 		 * NOTE: (blkno + blkcnt) may overflow
 		 */
 		if ((blkno >= softs->container[target].size) ||
-			((blkno + blkcnt) > softs->container[target].size)) {
+		    ((blkno + blkcnt) > softs->container[target].size)) {
 			/*
 			 * Request exceed the capacity of disk set error
 			 * block number to last LBA + 1
 			 */
 			aac_set_arq_data(pkt, KEY_ILLEGAL_REQUEST,
-				0x21, 0x00, softs->container[target].size);
-			aac_soft_callback(softs, ac, CMD_CMPLT);
-			ret_val = TRAN_ACCEPT;
+			    0x21, 0x00, softs->container[target].size);
+			aac_soft_callback(softs, acp, CMD_CMPLT);
+			rval = TRAN_ACCEPT;
 			break;
 		}
 
-		if ((ac->flags & AAC_CMD_NO_INTR) ||
-			(ac->flags & AAC_CMD_SOFT_INTR)) {
+		if ((acp->flags & AAC_CMD_NO_INTR) ||
+		    (acp->flags & AAC_CMD_SOFT_INTR)) {
 			/* Poll pkt */
-			if (aac_do_poll_io(softs, ac) == AACOK) {
-				aac_soft_callback(softs, ac, CMD_CMPLT);
-				ret_val = TRAN_ACCEPT;
-			} else
-				ret_val = TRAN_BADPKT;
+			if (aac_do_poll_io(softs, acp) == AACOK) {
+				aac_soft_callback(softs, acp, CMD_CMPLT);
+				rval = TRAN_ACCEPT;
+			} else {
+				rval = TRAN_BADPKT;
+			}
 		} else {
 			/* Async pkt */
-			if (aac_do_async_io(softs, ac) == AACOK)
-				ret_val = TRAN_ACCEPT;
+			if (aac_do_async_io(softs, acp) == AACOK)
+				rval = TRAN_ACCEPT;
 			else
-				ret_val = TRAN_BUSY;
+				rval = TRAN_BUSY;
 		}
 		break;
 
 	case SCMD_MODE_SENSE: /* mode_sense_6 */
 	case SCMD_MODE_SENSE_G1: /* mode_sense_10 */
-		ac->flags |= AAC_CMD_SOFT_INTR;
-		aac_free_dmamap(ac);
+		acp->flags |= AAC_CMD_SOFT_INTR;
+		aac_free_dmamap(acp);
 		if (softs->container[target].size > 0xffffffffull)
-			capacity = 0xffffffff; /* 64-bit LBA */
+			capacity = 0xfffffffful; /* 64-bit LBA */
 		else
 			capacity = softs->container[target].size;
 		aac_mode_sense(softs, pkt, cdbp, bp, capacity);
-		aac_soft_callback(softs, ac, CMD_CMPLT);
-		ret_val = TRAN_ACCEPT;
+		aac_soft_callback(softs, acp, CMD_CMPLT);
+		rval = TRAN_ACCEPT;
 		break;
 
 	case SCMD_TEST_UNIT_READY:
@@ -3348,63 +3344,62 @@
 	case SCMD_FORMAT:
 	case SCMD_START_STOP:
 	case SCMD_SYNCHRONIZE_CACHE:
-		ac->flags |= AAC_CMD_SOFT_INTR;
-		aac_free_dmamap(ac);
+		acp->flags |= AAC_CMD_SOFT_INTR;
+		aac_free_dmamap(acp);
 		if (bp && bp->b_un.b_addr && bp->b_bcount) {
-			if (ac->flags & AAC_CMD_BUF_READ) {
+			if (acp->flags & AAC_CMD_BUF_READ) {
 				if (bp->b_flags & (B_PHYS|B_PAGEIO))
 					bp_mapin(bp);
 				bzero(bp->b_un.b_addr, bp->b_bcount);
 			}
 			pkt->pkt_state |= STATE_XFERRED_DATA;
 		}
-		aac_soft_callback(softs, ac, CMD_CMPLT);
-		ret_val = TRAN_ACCEPT;
+		aac_soft_callback(softs, acp, CMD_CMPLT);
+		rval = TRAN_ACCEPT;
 		break;
 
 	case SCMD_DOORLOCK:
-		ac->flags |= AAC_CMD_SOFT_INTR;
-		aac_free_dmamap(ac);
+		acp->flags |= AAC_CMD_SOFT_INTR;
+		aac_free_dmamap(acp);
 		if (pkt->pkt_cdbp[4] & 0x01)
 			softs->container[target].locked = 1;
 		else
 			softs->container[target].locked = 0;
-		aac_soft_callback(softs, ac, CMD_CMPLT);
-		ret_val = TRAN_ACCEPT;
+		aac_soft_callback(softs, acp, CMD_CMPLT);
+		rval = TRAN_ACCEPT;
 		break;
 
 	default: /* unknown command */
 unknown:
 		AACDB_PRINT((CE_CONT, "SCMD not supported"));
-		aac_free_dmamap(ac);
+		aac_free_dmamap(acp);
 		aac_set_arq_data(pkt, KEY_ILLEGAL_REQUEST, 0x20, 0x00, 0);
-		aac_soft_callback(softs, ac, CMD_CMPLT);
-		ret_val = TRAN_ACCEPT;
+		aac_soft_callback(softs, acp, CMD_CMPLT);
+		rval = TRAN_ACCEPT;
 		break;
 	}
 
 	rw_exit(&softs->errlock);
-	return (ret_val);
+	return (rval);
 }
 
 static int
 aac_tran_getcap(struct scsi_address *ap, char *cap, int whom)
 {
-	int rval;
-	struct aac_softstate *softs;
+	struct aac_softstate *softs = AAC_TRAN2SOFTS(ap->a_hba_tran);
 	int target = ap->a_target;
 	int lun = ap->a_lun;
+	int rval;
 
 	DBCALLED(1);
 
 	/* We don't allow inquiring about capabilities for other targets */
 	if (cap == NULL || whom == 0) {
 		AACDB_PRINT((CE_WARN,
-			"GetCap> %s not supported: whom=%d", cap, whom));
+		    "GetCap> %s not supported: whom=%d", cap, whom));
 		return (-1);
 	}
 
-	softs = AAC_TRAN2SOFTS(ap->a_hba_tran);
 	if (!softs->container[target].valid || !(lun == 0)) {
 		AACDB_PRINT((CE_WARN, "Bad target to getcap"));
 		return (-1);
@@ -3423,7 +3418,7 @@
 	case SCSI_CAP_TOTAL_SECTORS:
 		/* Number of sectors */
 		if (softs->container[target].size > 0xffffffffull)
-			rval = 0xffffffff; /* 64-bit LBA */
+			rval = 0xfffffffful; /* 64-bit LBA */
 		else
 			rval = softs->container[target].size;
 		break;
@@ -3436,32 +3431,29 @@
 		break;
 	}
 	AACDB_PRINT((CE_NOTE, "GetCap> %s t%dL%d: rval=%d",
-		cap, ap->a_target, ap->a_lun, rval));
+	    cap, ap->a_target, ap->a_lun, rval));
 
 	return (rval);
 }
 
 /*ARGSUSED*/
 static int
-aac_tran_setcap(struct scsi_address *ap, char *cap, int value,
-	int whom)
+aac_tran_setcap(struct scsi_address *ap, char *cap, int value, int whom)
 {
-	int rval;
-	struct aac_softstate *softs;
+	struct aac_softstate *softs = AAC_TRAN2SOFTS(ap->a_hba_tran);
 	int target = ap->a_target;
 	int lun = ap->a_lun;
+	int rval;
 
 	DBCALLED(1);
 
 	/* We don't allow inquiring about capabilities for other targets */
 	if (cap == NULL || whom == 0) {
 		AACDB_PRINT((CE_WARN,
-			"SetCap> %s not supported: whom=%d", cap, whom));
+		    "SetCap> %s not supported: whom=%d", cap, whom));
 		return (-1);
 	}
 
-	softs = AAC_TRAN2SOFTS(ap->a_hba_tran);
-
 	if (!softs->container[target].valid || !(lun == 0)) {
 		AACDB_PRINT((CE_WARN, "Bad target to setcap"));
 		return (-1);
@@ -3490,97 +3482,98 @@
 		rval = -1;
 		break;
 	}
+
 	AACDB_PRINT((CE_NOTE, "SetCap> %s t%dL%d val=%d: rval=%d",
-		cap, ap->a_target, ap->a_lun, value, rval));
-
+	    cap, ap->a_target, ap->a_lun, value, rval));
 	return (rval);
 }
 
 static void
-aac_tran_destroy_pkt(struct scsi_address *ap,
-	struct scsi_pkt *pkt)
+aac_tran_destroy_pkt(struct scsi_address *ap, struct scsi_pkt *pkt)
 {
-	struct aac_cmd *ac = PKT2AC(pkt);
+	struct aac_cmd *acp = PKT2AC(pkt);
 
 	DBCALLED(2);
 
-	aac_free_dmamap(ac);
-	ASSERT(ac->slotp == NULL);
+	aac_free_dmamap(acp);
+	ASSERT(acp->slotp == NULL);
 	scsi_hba_pkt_free(ap, pkt);
 }
 
 static struct scsi_pkt *
 aac_tran_init_pkt(struct scsi_address *ap,
-	struct scsi_pkt *pkt, struct buf *bp, int cmdlen, int statuslen,
-	int tgtlen, int flags, int (*callback)(), caddr_t arg)
+    struct scsi_pkt *pkt, struct buf *bp, int cmdlen, int statuslen,
+    int tgtlen, int flags, int (*callback)(), caddr_t arg)
 {
-	struct aac_softstate *softs;
-	struct aac_cmd *ac, *new_ac = NULL;
-	int err;
+	struct aac_softstate *softs = AAC_TRAN2SOFTS(ap->a_hba_tran);
+	struct aac_cmd *acp, *new_acp;
 	uint_t dma_flags = 0;
-	int (*cb) (caddr_t);
-	int slen, hbalen;
+	int (*cb)(caddr_t);
 	size_t transfer_num;
+	int rval;
 
 	DBCALLED(2);
 
-	softs = AAC_TRAN2SOFTS(ap->a_hba_tran);
-
 	cb = (callback == NULL_FUNC) ? DDI_DMA_DONTWAIT : DDI_DMA_SLEEP;
 
 	/* Allocate pkt */
 	if (pkt == NULL) {
+		int slen, hbalen;
+
 		/* Force auto request sense */
 		/* 64-bit LBA needs descriptor format sense data */
 		slen = (sizeof (struct scsi_extended_sense) <
-			AAC_SENSE_DATA_DESCR_LEN) ?
-			(sizeof (struct scsi_arq_status) +
-			AAC_SENSE_DATA_DESCR_LEN -
-			sizeof (struct scsi_extended_sense)) :
-			sizeof (struct scsi_arq_status);
+		    AAC_SENSE_DATA_DESCR_LEN) ?
+		    (sizeof (struct scsi_arq_status) +
+		    AAC_SENSE_DATA_DESCR_LEN -
+		    sizeof (struct scsi_extended_sense)) :
+		    sizeof (struct scsi_arq_status);
 		if (statuslen > slen)
 			slen = statuslen;
 		hbalen = sizeof (struct aac_cmd) - sizeof (struct aac_fib) +
-			softs->aac_max_fib_size;
+		    softs->aac_max_fib_size;
 		pkt = scsi_hba_pkt_alloc(softs->devinfo_p, ap, cmdlen,
-			slen, tgtlen, hbalen, callback, arg);
+		    slen, tgtlen, hbalen, callback, arg);
 		if (pkt == NULL) {
 			AACDB_PRINT((CE_WARN, "Alloc scsi pkt failed"));
 			return (NULL);
 		}
-		ac = new_ac = PKT2AC(pkt);
-		ac->pkt = pkt;
-		ac->cmdlen = cmdlen;
-		ac->slotp = NULL;
+		acp = new_acp = PKT2AC(pkt);
+		acp->pkt = pkt;
+		acp->cmdlen = cmdlen;
+		acp->slotp = NULL;
 
 		/*
 		 * We will still use this point to fake some
 		 * infomation in tran_start
 		 */
-		ac->bp = bp;
+		acp->bp = bp;
 
 		/* Set cmd flags according to pkt alloc flags */
 		if (flags & PKT_CONSISTENT)
-			ac->flags |= AAC_CMD_CONSISTENT;
+			acp->flags |= AAC_CMD_CONSISTENT;
 		if (flags & PKT_DMA_PARTIAL)
-			ac->flags |= AAC_CMD_DMA_PARTIAL;
+			acp->flags |= AAC_CMD_DMA_PARTIAL;
+	} else {
+		acp = PKT2AC(pkt);
+		new_acp = NULL;
 	}
+
 	if (bp == NULL || (bp->b_bcount == 0))
 		return (pkt);
 
 	/* We need to transfer data, so we alloc DMA resources for this pkt */
-	ac = PKT2AC(pkt);
-	if (!(ac->flags & AAC_CMD_DMA_VALID)) {
-
-		ASSERT(new_ac != NULL); /* pkt is reused without init */
+	if (!(acp->flags & AAC_CMD_DMA_VALID)) {
+
+		ASSERT(new_acp != NULL); /* pkt is reused without init */
 
 		/* Set dma flags */
 		if (BUF_IS_READ(bp)) {
 			dma_flags |= DDI_DMA_READ;
-			ac->flags |= AAC_CMD_BUF_READ;
+			acp->flags |= AAC_CMD_BUF_READ;
 		} else {
 			dma_flags |= DDI_DMA_WRITE;
-			ac->flags |= AAC_CMD_BUF_WRITE;
+			acp->flags |= AAC_CMD_BUF_WRITE;
 		}
 		if (flags & PKT_CONSISTENT)
 			dma_flags |= DDI_DMA_CONSISTENT;
@@ -3588,115 +3581,119 @@
 			dma_flags |= DDI_DMA_PARTIAL;
 
 		/* Alloc buf dma handle */
-		err = DDI_SUCCESS;
-		if (!ac->buf_dma_handle)
-			err = ddi_dma_alloc_handle(softs->devinfo_p,
-				&softs->buf_dma_attr, cb, NULL,
-				&ac->buf_dma_handle);
-		if (err != DDI_SUCCESS) {
+		rval = DDI_SUCCESS;
+		if (!acp->buf_dma_handle)
+			rval = ddi_dma_alloc_handle(softs->devinfo_p,
+			    &softs->buf_dma_attr, cb, NULL,
+			    &acp->buf_dma_handle);
+		if (rval != DDI_SUCCESS) {
 			AACDB_PRINT((CE_WARN,
-				"Can't allocate DMA handle, errno=%d", err));
-			if (new_ac)
+			    "Can't allocate DMA handle, errno=%d", rval));
+			if (new_acp)
 				scsi_hba_pkt_free(ap, pkt);
 			return (NULL);
 		}
 
 		/* Bind buf */
 		if ((((uintptr_t)bp->b_un.b_addr & AAC_DMA_ALIGN_MASK) == 0) &&
-			((bp->b_bcount & AAC_DMA_ALIGN_MASK) == 0)) {
-			err = ddi_dma_buf_bind_handle(ac->buf_dma_handle,
-				bp, dma_flags, DDI_DMA_SLEEP, NULL,
-				&ac->cookie, &ac->left_cookien);
+		    ((bp->b_bcount & AAC_DMA_ALIGN_MASK) == 0)) {
+			rval = ddi_dma_buf_bind_handle(acp->buf_dma_handle,
+			    bp, dma_flags, DDI_DMA_SLEEP, NULL,
+			    &acp->cookie, &acp->left_cookien);
 		} else {
 			size_t bufsz;
 
 			AACDB_PRINT((CE_WARN,
-				"non-aligned buffer: addr=0x%p, cnt=%lu",
-				(void *)bp->b_un.b_addr, bp->b_bcount));
+			    "non-aligned buffer: addr=0x%p, cnt=%lu",
+			    (void *)bp->b_un.b_addr, bp->b_bcount));
 			if (bp->b_flags & (B_PAGEIO|B_PHYS))
 				bp_mapin(bp);
 
-			err = ddi_dma_mem_alloc(ac->buf_dma_handle,
-				AAC_ROUNDUP(bp->b_bcount, AAC_DMA_ALIGN),
-				&aac_acc_attr, DDI_DMA_STREAMING,
-				DDI_DMA_SLEEP, NULL,
-				&ac->abp, &bufsz, &ac->abh);
-
-			if (err != DDI_SUCCESS) {
+			rval = ddi_dma_mem_alloc(acp->buf_dma_handle,
+			    AAC_ROUNDUP(bp->b_bcount, AAC_DMA_ALIGN),
+			    &aac_acc_attr, DDI_DMA_STREAMING,
+			    DDI_DMA_SLEEP, NULL, &acp->abp, &bufsz, &acp->abh);
+
+			if (rval != DDI_SUCCESS) {
 				AACDB_PRINT((CE_NOTE,
-					"Cannot alloc DMA to non-aligned buf"));
+				    "Cannot alloc DMA to non-aligned buf"));
 				bioerror(bp, 0);
 				goto error_out;
 			}
 
-			if (ac->flags & AAC_CMD_BUF_WRITE)
-				bcopy(bp->b_un.b_addr, ac->abp, bp->b_bcount);
-
-			err = ddi_dma_addr_bind_handle(ac->buf_dma_handle, NULL,
-				ac->abp, bufsz, dma_flags, DDI_DMA_SLEEP, 0,
-				&ac->cookie, &ac->left_cookien);
+			if (acp->flags & AAC_CMD_BUF_WRITE)
+				bcopy(bp->b_un.b_addr, acp->abp, bp->b_bcount);
+
+			rval = ddi_dma_addr_bind_handle(acp->buf_dma_handle,
+			    NULL, acp->abp, bufsz, dma_flags, DDI_DMA_SLEEP,
+			    0, &acp->cookie, &acp->left_cookien);
 		}
 
-		switch (err) {
+		switch (rval) {
 		case DDI_DMA_PARTIAL_MAP:
-			ac->flags |= AAC_CMD_DMA_VALID;
-			if (ddi_dma_numwin(ac->buf_dma_handle, &ac->total_nwin)
-				== DDI_FAILURE) {
+			acp->flags |= AAC_CMD_DMA_VALID;
+			if (ddi_dma_numwin(acp->buf_dma_handle,
+			    &acp->total_nwin) == DDI_FAILURE) {
 				AACDB_PRINT((CE_WARN,
-					"Cannot get number of DMA windows"));
+				    "Cannot get number of DMA windows"));
 				bioerror(bp, 0);
 				goto error_out;
 			}
-			AACDB_PRINT((CE_NOTE,
-				"buf bind, %d segs", ac->left_cookien));
-			ac->cur_win = 0;
+			AACDB_PRINT((CE_NOTE, "buf bind, %d segs",
+			    acp->left_cookien));
+			acp->cur_win = 0;
 			break;
 
 		case DDI_DMA_MAPPED:
-			AACDB_PRINT((CE_NOTE,
-				"buf bind, %d segs", ac->left_cookien));
-			ac->flags |= AAC_CMD_DMA_VALID;
-			ac->cur_win = 0;
-			ac->total_nwin = 1;
+			AACDB_PRINT((CE_NOTE, "buf bind, %d segs",
+			    acp->left_cookien));
+			acp->flags |= AAC_CMD_DMA_VALID;
+			acp->cur_win = 0;
+			acp->total_nwin = 1;
 			break;
 
 		case DDI_DMA_NORESOURCES:
 			bioerror(bp, 0);
+			AACDB_PRINT((CE_WARN,
+			    "Cannot bind buf for DMA: DDI_DMA_NORESOURCES"));
 			goto error_out;
 		case DDI_DMA_BADATTR:
 		case DDI_DMA_NOMAPPING:
 			bioerror(bp, EFAULT);
+			AACDB_PRINT((CE_WARN,
+			    "Cannot bind buf for DMA: DDI_DMA_NOMAPPING"));
 			goto error_out;
 		case DDI_DMA_TOOBIG:
 		default:
 			bioerror(bp, EINVAL);
+			AACDB_PRINT((CE_WARN,
+			    "Cannot bind buf for DMA: %d", rval));
 			goto error_out;
 		}
 	}
 
 	/* Build FIB for this ac/pkt and return remaining byte count */
-	transfer_num = aac_cmd_fib(softs, ac);
+	transfer_num = aac_cmd_fib(softs, acp);
 	if (transfer_num == 0)
 		goto error_out;
 	pkt->pkt_resid = bp->b_bcount - transfer_num;
 
 	AACDB_PRINT((CE_NOTE,
-		"bp=0x%p, xfered=%d/%d, resid=%d",
-		(void *)bp->b_un.b_addr,
-		(int)ac->total_xfer, (int)bp->b_bcount, (int)pkt->pkt_resid));
+	    "bp=0x%p, xfered=%d/%d, resid=%d",
+	    (void *)bp->b_un.b_addr,
+	    (int)acp->total_xfer, (int)bp->b_bcount, (int)pkt->pkt_resid));
 
 	ASSERT((pkt->pkt_resid >= 0) ||
-		((bp->b_bcount & AAC_DMA_ALIGN_MASK) != 0));
+	    ((bp->b_bcount & AAC_DMA_ALIGN_MASK) != 0));
 
 	if (pkt->pkt_resid < 0)
 		pkt->pkt_resid = 0;
-
 	return (pkt);
 
 error_out:
 	AACDB_PRINT((CE_WARN, "Cannot bind buf for DMA"));
-	aac_free_dmamap(ac);
-	if (new_ac)
+	aac_free_dmamap(acp);
+	if (new_acp)
 		scsi_hba_pkt_free(ap, pkt);
 	return (NULL);
 }
@@ -3708,18 +3705,18 @@
 static void
 aac_tran_sync_pkt(struct scsi_address *ap, struct scsi_pkt *pkt)
 {
-	struct aac_cmd *ac = PKT2AC(pkt);
+	struct aac_cmd *acp = PKT2AC(pkt);
 	struct buf *bp;
 
 	DBCALLED(2);
 
-	if (ac->buf_dma_handle) {
-		aac_dma_sync(ac->buf_dma_handle, 0, 0,
-			(ac->flags & AAC_CMD_BUF_WRITE) ?
-			DDI_DMA_SYNC_FORDEV : DDI_DMA_SYNC_FORCPU);
-		if (ac->abp != NULL) {
-			bp = ac->bp;
-			bcopy(ac->abp, bp->b_un.b_addr, bp->b_bcount);
+	if (acp->buf_dma_handle) {
+		aac_dma_sync(acp->buf_dma_handle, 0, 0,
+		    (acp->flags & AAC_CMD_BUF_WRITE) ?
+		    DDI_DMA_SYNC_FORDEV : DDI_DMA_SYNC_FORCPU);
+		if (acp->abp != NULL) {
+			bp = acp->bp;
+			bcopy(acp->abp, bp->b_un.b_addr, bp->b_bcount);
 		}
 	}
 }
@@ -3731,26 +3728,21 @@
 static void
 aac_tran_dmafree(struct scsi_address *ap, struct scsi_pkt *pkt)
 {
-	struct aac_cmd *ac = PKT2AC(pkt);
+	struct aac_cmd *acp = PKT2AC(pkt);
 
 	DBCALLED(2);
 
-	aac_free_dmamap(ac);
+	aac_free_dmamap(acp);
 }
 
-/*ARGSUSED*/
 static int
 aac_tran_quiesce(dev_info_t *dip)
 {
-	struct aac_softstate *softs;
-	scsi_hba_tran_t *tran;
-	int ret = 1;
+	struct aac_softstate *softs = AAC_DIP2SOFTS(dip);
+	int rval = 1;
 
 	DBCALLED(1);
 
-	tran = (scsi_hba_tran_t *)ddi_get_driver_private(dip);
-	softs = AAC_TRAN2SOFTS(tran);
-
 	rw_enter(&softs->errlock, RW_WRITER);
 	if (softs->state != AAC_STATE_RUN)
 		goto finish;
@@ -3758,28 +3750,23 @@
 	softs->slot_hold = 1;
 	if (aac_quiesce_adapter(softs) == AACOK) {
 		softs->state = AAC_STATE_QUIESCE;
-		ret = 0;
+		rval = 0;
 	} else {
 		softs->slot_hold = 0;
 	}
 
 finish:
 	rw_exit(&softs->errlock);
-	return (ret);
+	return (rval);
 }
 
-/*ARGSUSED*/
 static int
 aac_tran_unquiesce(dev_info_t *dip)
 {
-	struct aac_softstate *softs;
-	scsi_hba_tran_t *tran;
+	struct aac_softstate *softs = AAC_DIP2SOFTS(dip);
 
 	DBCALLED(1);
 
-	tran = (scsi_hba_tran_t *)ddi_get_driver_private(dip);
-	softs = AAC_TRAN2SOFTS(tran);
-
 	rw_enter(&softs->errlock, RW_WRITER);
 
 	if (softs->state != AAC_STATE_QUIESCE) {
@@ -3799,8 +3786,8 @@
 static int
 aac_hba_setup(struct aac_softstate *softs)
 {
-	scsi_hba_tran_t *hba_tran = NULL;
-	int err;
+	scsi_hba_tran_t *hba_tran;
+	int rval;
 
 	hba_tran = scsi_hba_tran_alloc(softs->devinfo_p, SCSI_HBA_CANSLEEP);
 	if (hba_tran == NULL)
@@ -3819,9 +3806,9 @@
 	hba_tran->tran_dmafree = aac_tran_dmafree;
 	hba_tran->tran_quiesce = aac_tran_quiesce;
 	hba_tran->tran_unquiesce = aac_tran_unquiesce;
-	err = scsi_hba_attach_setup(softs->devinfo_p, &softs->buf_dma_attr,
-		hba_tran, SCSI_HBA_TRAN_CLONE);
-	if (err != DDI_SUCCESS) {
+	rval = scsi_hba_attach_setup(softs->devinfo_p, &softs->buf_dma_attr,
+	    hba_tran, SCSI_HBA_TRAN_CLONE);
+	if (rval != DDI_SUCCESS) {
 		scsi_hba_tran_free(hba_tran);
 		AACDB_PRINT((CE_WARN, "aac_hba_setup failed"));
 		return (AACERR);
@@ -3831,7 +3818,7 @@
 }
 
 static size_t
-aac_cmd_fib(struct aac_softstate *softs, struct aac_cmd *ac)
+aac_cmd_fib(struct aac_softstate *softs, struct aac_cmd *acp)
 {
 	int count, sgelem;
 	off_t off;
@@ -3848,25 +3835,25 @@
 	struct aac_fib *fibp;
 	uint16_t *seccountp, *fib_datasizep;
 
-	fibp = &ac->fib;
-	pkt = ac->pkt;
+	fibp = &acp->fib;
+	pkt = acp->pkt;
 	ap = &pkt->pkt_address;
-	dma_handle = ac->buf_dma_handle;
-	cookiep = &ac->cookie;
-	cookien = ac->left_cookien;
-
-	if (cookien == 0 && ac->total_nwin == 1)
+	dma_handle = acp->buf_dma_handle;
+	cookiep = &acp->cookie;
+	cookien = acp->left_cookien;
+
+	if (cookien == 0 && acp->total_nwin == 1)
 		return (0); /* nothing to be transfered */
 	/* Fill in fib header */
 	fibp->Header.XferState =
-		AAC_FIBSTATE_HOSTOWNED |
-		AAC_FIBSTATE_INITIALISED |
-		AAC_FIBSTATE_EMPTY |
-		AAC_FIBSTATE_FROMHOST |
-		AAC_FIBSTATE_REXPECTED |
-		AAC_FIBSTATE_NORM |
-		AAC_FIBSTATE_ASYNC |
-		AAC_FIBSTATE_FAST_RESPONSE; /* enable fast io */
+	    AAC_FIBSTATE_HOSTOWNED |
+	    AAC_FIBSTATE_INITIALISED |
+	    AAC_FIBSTATE_EMPTY |
+	    AAC_FIBSTATE_FROMHOST |
+	    AAC_FIBSTATE_REXPECTED |
+	    AAC_FIBSTATE_NORM |
+	    AAC_FIBSTATE_ASYNC |
+	    AAC_FIBSTATE_FAST_RESPONSE; /* enable fast io */
 	fibp->Header.Command = ContainerCommand;
 	fibp->Header.StructType = AAC_FIBTYPE_TFIB;
 	fibp->Header.Flags = 0; /* don't care */
@@ -3883,9 +3870,8 @@
 		fibp->Header.Command = RawIo;
 		io = (struct aac_raw_io *)&fibp->data[0];
 		*fib_datasizep += sizeof (struct aac_raw_io);
-		io->ContainerId =
-			AAC_TRAN2SOFTS(ap->a_hba_tran)-> \
-			container[ap->a_target].cid;
+		io->ContainerId = AAC_TRAN2SOFTS(ap->a_hba_tran)-> \
+		    container[ap->a_target].cid;
 		io->BpTotal = 0;
 		io->BpComplete = 0;
 		sgmapraw = &io->SgMapRaw;
@@ -3895,15 +3881,14 @@
 	} else if (softs->flags & AAC_FLAGS_SG_64BIT) {
 		fibp->Header.Command = ContainerCommand64;
 		/* Fill in fib data */
-		if (ac->flags & AAC_CMD_BUF_READ) {
+		if (acp->flags & AAC_CMD_BUF_READ) {
 			struct aac_blockread64 *br;
 
 			br = (struct aac_blockread64 *)&fibp->data[0];
 			*fib_datasizep += sizeof (struct aac_blockread64);
 			br->Command = VM_CtHostRead64;
-			br->ContainerId =
-				AAC_TRAN2SOFTS(ap->a_hba_tran)-> \
-				container[ap->a_target].cid;
+			br->ContainerId = AAC_TRAN2SOFTS(ap->a_hba_tran)-> \
+			    container[ap->a_target].cid;
 			br->Pad = 0;
 			br->Flags = 0;
 			sgmap64 = &br->SgMap64;
@@ -3914,9 +3899,8 @@
 			bw = (struct aac_blockwrite64 *)&fibp->data[0];
 			*fib_datasizep += sizeof (struct aac_blockwrite64);
 			bw->Command = VM_CtHostWrite64;
-			bw->ContainerId =
-				AAC_TRAN2SOFTS(ap->a_hba_tran)-> \
-				container[ap->a_target].cid;
+			bw->ContainerId = AAC_TRAN2SOFTS(ap->a_hba_tran)-> \
+			    container[ap->a_target].cid;
 			bw->Pad = 0;
 			bw->Flags = 0;
 			sgmap64 = &bw->SgMap64;
@@ -3927,15 +3911,14 @@
 	} else {
 		fibp->Header.Command = ContainerCommand;
 		/* Fill in fib data */
-		if (ac->flags & AAC_CMD_BUF_READ) {
+		if (acp->flags & AAC_CMD_BUF_READ) {
 			struct aac_blockread *br;
 
 			br = (struct aac_blockread *)&fibp->data[0];
 			*fib_datasizep += sizeof (struct aac_blockread);
 			br->Command = VM_CtBlockRead;
-			br->ContainerId =
-				AAC_TRAN2SOFTS(ap->a_hba_tran)-> \
-				container[ap->a_target].cid;
+			br->ContainerId = AAC_TRAN2SOFTS(ap->a_hba_tran)-> \
+			    container[ap->a_target].cid;
 			sgmap = &br->SgMap;
 			bytecountp = &br->ByteCount;
 		} else {
@@ -3944,9 +3927,8 @@
 			bw = (struct aac_blockwrite *)&fibp->data[0];
 			*fib_datasizep += sizeof (struct aac_blockwrite);
 			bw->Command = VM_CtBlockWrite;
-			bw->ContainerId =
-				AAC_TRAN2SOFTS(ap->a_hba_tran)-> \
-				container[ap->a_target].cid;
+			bw->ContainerId = AAC_TRAN2SOFTS(ap->a_hba_tran)-> \
+			    container[ap->a_target].cid;
 			bw->Stable = CUNSTABLE;
 			sgmap = &bw->SgMap;
 			bytecountp = &bw->ByteCount;
@@ -3957,15 +3939,17 @@
 
 	/* Move cookie and window to build s/g map */
 	if (cookien == 0) { /* we need to move window */
-		if ((ac->cur_win + 1) < ac->total_nwin) {
-			int err;
-			ac->cur_win++;
-			err = ddi_dma_getwin(ac->buf_dma_handle, ac->cur_win,
-				&off, &len, cookiep, &cookien);
-			if (err != DDI_SUCCESS)
+		if ((acp->cur_win + 1) < acp->total_nwin) {
+			int rval;
+
+			acp->cur_win++;
+			rval = ddi_dma_getwin(acp->buf_dma_handle, acp->cur_win,
+			    &off, &len, cookiep, &cookien);
+			if (rval != DDI_SUCCESS)
 				return (0);
-		} else
+		} else {
 			return (0);
+		}
 	}
 
 	count = 0;
@@ -3977,25 +3961,25 @@
 	 * attribute. So we have to ensure it by ourself.
 	 */
 	while (count < softs->aac_sg_tablesize &&
-		next_total_xfer <= softs->buf_dma_attr.dma_attr_maxxfer) {
+	    next_total_xfer <= softs->buf_dma_attr.dma_attr_maxxfer) {
 		if (softs->flags & AAC_FLAGS_RAW_IO) {
 			sgmapraw->SgEntryRaw[count].SgAddress =
-				cookiep->dmac_laddress;
+			    cookiep->dmac_laddress;
 			sgmapraw->SgEntryRaw[count].SgByteCount =
-				cookiep->dmac_size;
+			    cookiep->dmac_size;
 			sgmapraw->SgEntryRaw[count].Next = 0;
 			sgmapraw->SgEntryRaw[count].Prev = 0;
 			sgmapraw->SgEntryRaw[count].Flags = 0;
 		} else if (softs->flags & AAC_FLAGS_SG_64BIT) {
 			sgmap64->SgEntry64[count].SgAddress =
-				cookiep->dmac_laddress;
+			    cookiep->dmac_laddress;
 			sgmap64->SgEntry64[count].SgByteCount =
-				cookiep->dmac_size;
+			    cookiep->dmac_size;
 		} else {
 			sgmap->SgEntry[count].SgAddress =
-				cookiep->dmac_laddress;
+			    cookiep->dmac_laddress;
 			sgmap->SgEntry[count].SgByteCount =
-				cookiep->dmac_size;
+			    cookiep->dmac_size;
 		}
 
 		count++;
@@ -4009,44 +3993,45 @@
 	}
 
 	if ((softs->flags & AAC_FLAGS_SG_64BIT) &&
-		(softs->flags & AAC_FLAGS_RAW_IO) == 0)
+	    (softs->flags & AAC_FLAGS_RAW_IO) == 0)
 		*seccountp = (uint16_t)(cur_total_xfer/AAC_BLK_SIZE);
 	else
 		*bytecountp = cur_total_xfer;
 	*sgcountp = count;
 
-	ac->left_cookien = cookien;
-	ac->total_xfer += cur_total_xfer;
+	acp->left_cookien = cookien;
+	acp->total_xfer += cur_total_xfer;
 	AACDB_PRINT((CE_NOTE, "    blks xfered=%d", cur_total_xfer >> 9));
 
 	/* Calculate fib data size */
 	*fib_datasizep += (count - 1) * sgelem;
 
-	return (ac->total_xfer);
+	return (acp->total_xfer);
 }
 
 static void
 aac_start_io(struct aac_softstate *softs, struct aac_slot *slotp,
-	struct aac_cmd *ac)
+    struct aac_cmd *acp)
 {
-	int status;
+	int rval;
 
 	/* Set ac and pkt */
-	ac->slotp = slotp;
-	ac->fib.Header.ReceiverFibAddress = slotp->fib_phyaddr;
-	ac->fib.Header.SenderFibAddress = slotp->index << 2;
-	bcopy(&ac->fib, slotp->fibp,
-		ac->fib.Header.Size); /* only copy data of needed length */
+	acp->slotp = slotp;
+	acp->fib.Header.ReceiverFibAddress = slotp->fib_phyaddr;
+	acp->fib.Header.SenderFibAddress = slotp->index << 2;
+	bcopy(&acp->fib, slotp->fibp,
+	    acp->fib.Header.Size); /* only copy data of needed length */
 	aac_dma_sync(slotp->fib_dma_handle, 0, 0, DDI_DMA_SYNC_FORDEV);
-	if (ac->pkt) { /* ac from ioctl has no pkt */
-		ac->pkt->pkt_state =
-			STATE_GOT_BUS |
-			STATE_GOT_TARGET |
-			STATE_SENT_CMD;
-		ac->timeout = ac->pkt->pkt_time;
-	} else
-		ac->timeout = AAC_IOCTL_TIMEOUT;
-	ac->start_time = ddi_get_time();
+	if (acp->pkt) { /* ac from ioctl has no pkt */
+		acp->pkt->pkt_state =
+		    STATE_GOT_BUS |
+		    STATE_GOT_TARGET |
+		    STATE_SENT_CMD;
+		acp->timeout = acp->pkt->pkt_time;
+	} else {
+		acp->timeout = AAC_IOCTL_TIMEOUT;
+	}
+	acp->start_time = ddi_get_time();
 
 	/*
 	 * NOTE: Assigning ac to acp should be done after ac has been inited
@@ -4054,29 +4039,29 @@
 	 * This way no seperate busy queue and en/de-queue operations are
 	 * needed.
 	 */
-	slotp->acp = ac;
+	slotp->acp = acp;
 
 	if (softs->flags & AAC_FLAGS_NEW_COMM) {
-		status = aac_send_command(softs, slotp);
+		rval = aac_send_command(softs, slotp);
 	} else {
 		/*
 		 * If fib can not be enqueued, the adapter is in an abnormal
 		 * state, there will be no interrupt to us.
 		 */
-		status = aac_fib_enqueue(softs,
-			AAC_ADAP_NORM_CMD_Q, slotp->fibp);
+		rval = aac_fib_enqueue(softs, AAC_ADAP_NORM_CMD_Q,
+		    slotp->fibp);
 	}
 
 	/*
 	 * NOTE: We send command only when slots availabe, so should never
 	 * reach here.
 	 */
-	if (status != AACOK) {
+	if (rval != AACOK) {
 		AACDB_PRINT((CE_NOTE, "SCMD send failed"));
-		aac_release_slot(softs, ac->slotp);
-		ac->slotp = NULL;
-		ac->pkt->pkt_state &= ~STATE_SENT_CMD;
-		aac_hard_callback(softs, ac, CMD_INCOMPLETE);
+		aac_release_slot(softs, acp->slotp);
+		acp->slotp = NULL;
+		acp->pkt->pkt_state &= ~STATE_SENT_CMD;
+		aac_hard_callback(softs, acp, CMD_INCOMPLETE);
 		ddi_trigger_softintr(softs->softint_id);
 	}
 }
@@ -4084,7 +4069,7 @@
 static void
 aac_start_waiting_io(struct aac_softstate *softs)
 {
-	struct aac_cmd *ac;
+	struct aac_cmd *acp;
 	struct aac_slot *slotp;
 
 	/* Serve as many waiting io's as possible */
@@ -4093,26 +4078,26 @@
 		 * Sync FIB io is served before async FIB io so that io requests
 		 * sent by interactive userland commands get responded asap.
 		 */
-		if ((ac = aac_cmd_dequeue(&softs->q_wait_sync)) == NULL &&
-			(softs->slot_hold == 1 ||
-			(ac = aac_cmd_dequeue(&softs->q_wait)) == NULL)) {
+		if ((acp = aac_cmd_dequeue(&softs->q_wait_sync)) == NULL &&
+		    (softs->slot_hold == 1 ||
+		    (acp = aac_cmd_dequeue(&softs->q_wait)) == NULL)) {
 			aac_release_slot(softs, slotp);
 			break;
 		}
 
-		aac_start_io(softs, slotp, ac);
+		aac_start_io(softs, slotp, acp);
 	}
 }
 
 static void
 aac_drain_comp_q(struct aac_softstate *softs)
 {
-	struct aac_cmd *ac;
+	struct aac_cmd *acp;
 	struct scsi_pkt *pkt;
 
-	while ((ac = aac_cmd_dequeue(&softs->q_comp)) != NULL) {
-		ASSERT(ac->pkt != NULL);
-		pkt = ac->pkt;
+	while ((acp = aac_cmd_dequeue(&softs->q_comp)) != NULL) {
+		ASSERT(acp->pkt != NULL);
+		pkt = acp->pkt;
 
 		switch (pkt->pkt_reason) {
 		case CMD_TIMEOUT:
@@ -4121,22 +4106,22 @@
 		case CMD_RESET:
 			/* aac support only RESET_ALL */
 			pkt->pkt_statistics |= STAT_BUS_RESET;
-			if (ac->flags & AAC_CMD_TIMEOUT) {
+			if (acp->flags & AAC_CMD_TIMEOUT) {
 				pkt->pkt_statistics |= STAT_TIMEOUT;
 				pkt->pkt_reason = CMD_TIMEOUT;
 			}
 			break;
 		case CMD_ABORTED:
 			pkt->pkt_statistics |= STAT_ABORTED;
-			if (ac->flags & AAC_CMD_TIMEOUT) {
+			if (acp->flags & AAC_CMD_TIMEOUT) {
 				pkt->pkt_statistics |= STAT_TIMEOUT;
 				pkt->pkt_reason = CMD_TIMEOUT;
 			}
 			break;
 		}
 
-		if (ac->pkt->pkt_comp)
-			(*ac->pkt->pkt_comp)(ac->pkt);
+		if (acp->pkt->pkt_comp)
+			(*acp->pkt->pkt_comp)(acp->pkt);
 	}
 }
 
@@ -4149,41 +4134,41 @@
 
 	/* Allocate FIB dma resource */
 	if (ddi_dma_alloc_handle(
-		softs->devinfo_p,
-		&softs->addr_dma_attr,
-		DDI_DMA_SLEEP,
-		NULL,
-		&slotp->fib_dma_handle) != DDI_SUCCESS) {
+	    softs->devinfo_p,
+	    &softs->addr_dma_attr,
+	    DDI_DMA_SLEEP,
+	    NULL,
+	    &slotp->fib_dma_handle) != DDI_SUCCESS) {
 		AACDB_PRINT((CE_WARN,
-			"Cannot alloc dma handle for slot fib area"));
+		    "Cannot alloc dma handle for slot fib area"));
 		goto error;
 	}
 	if (ddi_dma_mem_alloc(
-		slotp->fib_dma_handle,
-		softs->aac_max_fib_size,
-		&aac_acc_attr,
-		DDI_DMA_RDWR | DDI_DMA_CONSISTENT,
-		DDI_DMA_SLEEP,
-		NULL,
-		(caddr_t *)&slotp->fibp,
-		&rlen,
-		&slotp->fib_acc_handle) != DDI_SUCCESS) {
+	    slotp->fib_dma_handle,
+	    softs->aac_max_fib_size,
+	    &aac_acc_attr,
+	    DDI_DMA_RDWR | DDI_DMA_CONSISTENT,
+	    DDI_DMA_SLEEP,
+	    NULL,
+	    (caddr_t *)&slotp->fibp,
+	    &rlen,
+	    &slotp->fib_acc_handle) != DDI_SUCCESS) {
 		AACDB_PRINT((CE_WARN,
-			"Cannot alloc mem for slot fib area"));
+		    "Cannot alloc mem for slot fib area"));
 		goto error;
 	}
 	if (ddi_dma_addr_bind_handle(
-		slotp->fib_dma_handle,
-		NULL,
-		(caddr_t)slotp->fibp,
-		softs->aac_max_fib_size,
-		DDI_DMA_RDWR | DDI_DMA_CONSISTENT,
-		DDI_DMA_SLEEP,
-		NULL,
-		&cookie,
-		&cookien) != DDI_DMA_MAPPED) {
+	    slotp->fib_dma_handle,
+	    NULL,
+	    (caddr_t)slotp->fibp,
+	    softs->aac_max_fib_size,
+	    DDI_DMA_RDWR | DDI_DMA_CONSISTENT,
+	    DDI_DMA_SLEEP,
+	    NULL,
+	    &cookie,
+	    &cookien) != DDI_DMA_MAPPED) {
 		AACDB_PRINT((CE_WARN,
-			"dma bind failed for slot fib area"));
+		    "dma bind failed for slot fib area"));
 		goto error;
 	}
 	slotp->fib_phyaddr = cookie.dmac_laddress;
@@ -4218,7 +4203,7 @@
 	int i;
 
 	softs->io_slot = kmem_zalloc(sizeof (struct aac_slot) * \
-		softs->aac_max_fibs, KM_SLEEP);
+	    softs->aac_max_fibs, KM_SLEEP);
 	if (softs->io_slot == NULL) {
 		AACDB_PRINT((CE_WARN, "Cannot allocate slot"));
 		return (AACERR);
@@ -4239,7 +4224,7 @@
 	ASSERT(softs->total_fibs == 0);
 
 	kmem_free(softs->io_slot, sizeof (struct aac_slot) * \
-		softs->total_slots);
+	    softs->total_slots);
 	softs->io_slot = NULL;
 	softs->total_slots = 0;
 }
@@ -4296,7 +4281,7 @@
 aac_do_poll_io(struct aac_softstate *softs, struct aac_cmd *acp)
 {
 	struct aac_fib *ac_fibp, *sync_fibp;
-	int ret_val;
+	int rval;
 
 	ASSERT(acp);
 	ASSERT(softs);
@@ -4309,7 +4294,7 @@
 	 * new comm. for poll IO.
 	 */
 	if (softs->flags & AAC_FLAGS_NEW_COMM) {
-		ret_val = AACOK;
+		rval = AACOK;
 		ac_fibp->Header.XferState &= ~AAC_FIBSTATE_ASYNC;
 
 		if (aac_do_async_io(softs, acp) != AACOK) {
@@ -4325,14 +4310,14 @@
 			while (acp->state == AAC_CMD_INCMPLT)
 				(void) aac_intr_new((caddr_t)softs);
 			if (acp->state == AAC_CMD_ABORT)
-				ret_val = AACERR;
+				rval = AACERR;
 		} else {
 			ac_fibp->Header.XferState &= ~AAC_FIBSTATE_ASYNC;
 			mutex_enter(&softs->event_mutex);
 			while (acp->state == AAC_CMD_INCMPLT)
 				cv_wait(&softs->event, &softs->event_mutex);
 			if (acp->state == AAC_CMD_ABORT)
-				ret_val = AACERR;
+				rval = AACERR;
 			mutex_exit(&softs->event_mutex);
 		}
 	} else {
@@ -4340,34 +4325,34 @@
 		/* Only copy data of needed length */
 		bcopy(ac_fibp, sync_fibp, ac_fibp->Header.Size);
 
-		ret_val = aac_sync_fib(softs, ContainerCommand, sync_fibp,
-			ac_fibp->Header.Size);
+		rval = aac_sync_fib(softs, ContainerCommand, sync_fibp,
+		    ac_fibp->Header.Size);
 		aac_release_sync_fib(softs);
 	}
 
-	return (ret_val);
+	return (rval);
 }
 
 /*
- * Io requests have to be queued up in q_wait(_sync) to ensure that
+ * IO requests should be queued up in q_wait(_sync) to ensure that
  * they are executed in order. Out-of-order execution of io requests
  * is not allowed.
  */
 int
-aac_do_async_io(struct aac_softstate *softs, struct aac_cmd *ac)
+aac_do_async_io(struct aac_softstate *softs, struct aac_cmd *acp)
 {
-	int retval = AACOK;
-
-	if (ac->fib.Header.XferState & AAC_FIBSTATE_ASYNC)
+	int rval = AACOK;
+
+	if (acp->fib.Header.XferState & AAC_FIBSTATE_ASYNC)
 		/* Async FIB io request enters q_wait */
-		aac_cmd_enqueue(&softs->q_wait, ac);
+		aac_cmd_enqueue(&softs->q_wait, acp);
 	else
 		/* Sync FIB io request enters q_wait_sync */
-		aac_cmd_enqueue(&softs->q_wait_sync, ac);
+		aac_cmd_enqueue(&softs->q_wait_sync, acp);
 
 	aac_start_waiting_io(softs);
 
-	return (retval);
+	return (rval);
 }
 
 static void
@@ -4401,7 +4386,7 @@
 
 	if (fibp->Header.Command != AifRequest) {
 		cmn_err(CE_NOTE, "!Unknown command from controller: 0x%x",
-			fibp->Header.Command);
+		    fibp->Header.Command);
 		return (AACERR);
 	}
 
@@ -4436,8 +4421,8 @@
 				softs->devcfg_wait_on = AifEnConfigChange;
 			break;
 		case AifEnContainerEvent:
-			if (aif->data.EN.data.ECE.eventType == \
-				CT_PUP_MISSING_DRIVE)
+			if (aif->data.EN.data.ECE.eventType ==
+			    CT_PUP_MISSING_DRIVE)
 				devcfg_needed = 1;
 			break;
 		}
@@ -4448,18 +4433,18 @@
 	case AifCmdJobProgress:
 		if (aif->data.PR[0].jd.type == AifJobCtrZero) {
 			if ((aif->data.PR[0].currentTick ==
-				aif->data.PR[0].finalTick) ||
-				(aif->data.PR[0].status == AifJobStsSuccess))
+			    aif->data.PR[0].finalTick) ||
+			    (aif->data.PR[0].status == AifJobStsSuccess))
 				softs->devcfg_wait_on = AifEnContainerChange;
 			else if ((aif->data.PR[0].currentTick == 0) &&
-				(aif->data.PR[0].status == AifJobStsRunning))
+			    (aif->data.PR[0].status == AifJobStsRunning))
 				softs->devcfg_wait_on = AifEnContainerChange;
 		}
 		break;
 	}
 
 	if (devcfg_needed)
-		aac_rescan_container(softs);
+		aac_rescan_containers(softs);
 
 	/* Copy AIF data to AIF queue */
 	mutex_enter(&softs->aifq_mutex);
@@ -4486,6 +4471,7 @@
 	cv_broadcast(&softs->aifv);
 	mutex_exit(&softs->aifq_mutex);
 
+	/* Complete AIF back to adapter with good status */
 	if (fibp->Header.XferState & AAC_FIBSTATE_FROMADAP) {
 		fibp->Header.XferState |= AAC_FIBSTATE_DONEHOST;
 		((int *)fibp->data)[0] = 0; /* ST_OK */
@@ -4496,7 +4482,7 @@
 }
 
 static void
-aac_daemon(void* arg)
+aac_daemon(void *arg)
 {
 	int i;
 	uint32_t t_flag;
@@ -4537,8 +4523,8 @@
 
 		acp->flags |= AAC_CMD_TIMEOUT;
 		AACDB_PRINT((CE_NOTE, "timeout=%d,startime=%d;curtime=%d",
-			(uint32_t)acp->timeout,	(uint32_t)acp->start_time,
-			curtime));
+		    (uint32_t)acp->timeout, (uint32_t)acp->start_time,
+		    curtime));
 
 		mutex_exit(&softs->slot_mutex);
 		softs->timeout_count++;
@@ -4560,9 +4546,9 @@
 	}
 
 	if ((softs->timeout_id != 0) &&
-		(softs->state != AAC_STATE_STOPPED))
+	    (softs->state != AAC_STATE_STOPPED))
 		softs->timeout_id = timeout(aac_daemon, (void*)softs,
-			(60 * drv_usectohz(1000000)));
+		    (60 * drv_usectohz(1000000)));
 }
 
 /*
@@ -4582,7 +4568,7 @@
 
 static void
 aac_rx_set_mailbox(struct aac_softstate *softs, uint32_t cmd,
-	uint32_t arg0, uint32_t arg1, uint32_t arg2, uint32_t arg3)
+    uint32_t arg0, uint32_t arg1, uint32_t arg2, uint32_t arg3)
 {
 	PCI_MEM_PUT32(softs, AAC_RX_MAILBOX, cmd);
 	PCI_MEM_PUT32(softs, AAC_RX_MAILBOX + 4, arg0);
@@ -4605,7 +4591,7 @@
 
 static void
 aac_rkt_set_mailbox(struct aac_softstate *softs, uint32_t cmd,
-	uint32_t arg0, uint32_t arg1, uint32_t arg2, uint32_t arg3)
+    uint32_t arg0, uint32_t arg1, uint32_t arg2, uint32_t arg3)
 {
 	PCI_MEM_PUT32(softs, AAC_RKT_MAILBOX, cmd);
 	PCI_MEM_PUT32(softs, AAC_RKT_MAILBOX + 4, arg0);
@@ -4672,8 +4658,8 @@
 }
 
 static int
-aac_ioctl(dev_t dev, int cmd, intptr_t arg, int flag,
-	cred_t *cred_p, int *rval_p)
+aac_ioctl(dev_t dev, int cmd, intptr_t arg, int flag, cred_t *cred_p,
+    int *rval_p)
 {
 	struct aac_softstate *softs;
 	int minor0, minor;
@@ -4951,7 +4937,7 @@
 	CT_CHECK_CONFLICT_UID, "CT_CHECK_CONFLICT_UID", \
 	CT_CONTAINER_UID_CHECK, "CT_CONTAINER_UID_CHECK", \
 	CT_IS_CONTAINER_MEATADATA_STANDARD, \
-		"CT_IS_CONTAINER_MEATADATA_STANDARD", \
+	    "CT_IS_CONTAINER_MEATADATA_STANDARD", \
 	CT_IS_SLICE_METADATA_STANDARD, "CT_IS_SLICE_METADATA_STANDARD", \
 	CT_GET_IMPORT_COUNT, "CT_GET_IMPORT_COUNT", \
 	CT_CANCEL_ALL_IMPORTS, "CT_CANCEL_ALL_IMPORTS", \
@@ -5166,45 +5152,44 @@
 	int lun = ap->a_lun;
 	union scsi_cdb *cdbp = (union scsi_cdb *)pkt->pkt_cdbp;
 	uchar_t cmd = cdbp->scc_cmd;
-	struct aac_cmd *ac = PKT2AC(pkt);
+	struct aac_cmd *acp = PKT2AC(pkt);
 	char *desc;
 
 	if ((desc = aac_cmd_name(cmd,
-		(struct aac_key_strings *)scsi_cmds)) == NULL) {
+	    (struct aac_key_strings *)scsi_cmds)) == NULL) {
 		cmn_err(CE_NOTE, "SCMD> Unknown(0x%2x) to t%dL%d",
-			cmd, tgt, lun);
+		    cmd, tgt, lun);
 		return;
 	}
 
 	switch (cmd) {
 	case SCMD_READ:
 	case SCMD_WRITE:
-		cmn_err(CE_NOTE, "SCMD> %s t%dL%d 0x%x %s",
-			desc, tgt, lun,	GETG0ADDR(cdbp),
-			((ac->flags & AAC_CMD_NO_INTR) ||
-			(ac->flags & AAC_CMD_SOFT_INTR)) ?
-				"poll" : "intr");
+		cmn_err(CE_NOTE,
+		    "SCMD> %s t%dL%d 0x%x %s",
+		    desc, tgt, lun, GETG0ADDR(cdbp),
+		    ((acp->flags & AAC_CMD_NO_INTR) ||
+		    (acp->flags & AAC_CMD_SOFT_INTR)) ? "poll" : "intr");
 		break;
 	case SCMD_READ_G1:
 	case SCMD_WRITE_G1:
-		cmn_err(CE_NOTE, "SCMD> %s t%dL%d 0x%x %s",
-			desc, tgt, lun, GETG1ADDR(cdbp),
-			((ac->flags & AAC_CMD_NO_INTR) ||
-			(ac->flags & AAC_CMD_SOFT_INTR)) ?
-				"poll" : "intr");
+		cmn_err(CE_NOTE,
+		    "SCMD> %s t%dL%d 0x%x %s",
+		    desc, tgt, lun, GETG1ADDR(cdbp),
+		    ((acp->flags & AAC_CMD_NO_INTR) ||
+		    (acp->flags & AAC_CMD_SOFT_INTR)) ? "poll" : "intr");
 		break;
 	case SCMD_READ_G4:
 	case SCMD_WRITE_G4:
-		cmn_err(CE_NOTE, "SCMD> %s t%dL%d 0x%x.%08x %s",
-			desc, tgt, lun,
-			GETG4ADDR(cdbp), GETG4ADDRTL(cdbp),
-			((ac->flags & AAC_CMD_NO_INTR) ||
-			(ac->flags & AAC_CMD_SOFT_INTR)) ?
-				"poll" : "intr");
+		cmn_err(CE_NOTE,
+		    "SCMD> %s t%dL%d 0x%x.%08x %s",
+		    desc, tgt, lun, GETG4ADDR(cdbp), GETG4ADDRTL(cdbp),
+		    ((acp->flags & AAC_CMD_NO_INTR) ||
+		    (acp->flags & AAC_CMD_SOFT_INTR)) ? "poll" : "intr");
 		break;
 	default:
 		cmn_err(CE_NOTE, "SCMD> %s t%dL%d",
-			desc, tgt, lun);
+		    desc, tgt, lun);
 	}
 }
 
@@ -5239,10 +5224,10 @@
 			if (subcmdstr == NULL)
 				break;
 			cmn_err(CE_NOTE, "FIB> %s (0x%x, 0x%x, 0x%x)",
-				subcmdstr,
-				pContainer->CTCommand.param[0],
-				pContainer->CTCommand.param[1],
-				pContainer->CTCommand.param[2]);
+			    subcmdstr,
+			    pContainer->CTCommand.param[0],
+			    pContainer->CTCommand.param[1],
+			    pContainer->CTCommand.param[2]);
 			return;
 		case VM_Ioctl:
 			sub_cmd = ((int32_t *)pContainer)[4];
@@ -5267,16 +5252,16 @@
 
 	if (subcmdstr)
 		cmn_err(CE_NOTE, "FIB> %s, sz=%d", subcmdstr,
-			fibp->Header.Size);
+		    fibp->Header.Size);
 	else if (cmdstr && sub_cmd == -1)
 		cmn_err(CE_NOTE, "FIB> %s, sz=%d", cmdstr,
-			fibp->Header.Size);
+		    fibp->Header.Size);
 	else if (cmdstr)
 		cmn_err(CE_NOTE, "FIB> %s: Unknown(0x%x), sz=%d", cmdstr,
-			sub_cmd, fibp->Header.Size);
+		    sub_cmd, fibp->Header.Size);
 	else
 		cmn_err(CE_NOTE, "FIB> Unknown(0x%x), sz=%d", fib_cmd,
-			fibp->Header.Size);
+		    fibp->Header.Size);
 }
 
 static void
@@ -5291,7 +5276,7 @@
 			cmn_err(CE_NOTE, "AIF! %s", str);
 		else
 			cmn_err(CE_NOTE, "AIF! Unknown(0x%x)",
-				aif->data.EN.type);
+			    aif->data.EN.type);
 		break;
 
 	case AifCmdJobProgress:
@@ -5312,9 +5297,9 @@
 			str = "unknown"; break;
 		}
 		cmn_err(CE_NOTE, "AIF! JobProgress (%d) - %s (%d, %d)",
-			aif->seqNumber, str,
-			aif->data.PR[0].currentTick,
-			aif->data.PR[0].finalTick);
+		    aif->seqNumber, str,
+		    aif->data.PR[0].currentTick,
+		    aif->data.PR[0].finalTick);
 		break;
 
 	case AifCmdAPIReport:
@@ -5327,7 +5312,7 @@
 
 	default:
 		cmn_err(CE_NOTE,
-			"AIF! AIF %d (%d)", aif->command, aif->seqNumber);
+		    "AIF! AIF %d (%d)", aif->command, aif->seqNumber);
 		break;
 	}
 }
--- a/usr/src/uts/intel/io/aac/aac.h	Sat May 26 19:40:51 2007 -0700
+++ b/usr/src/uts/intel/io/aac/aac.h	Sun May 27 19:16:54 2007 -0700
@@ -109,16 +109,6 @@
 #define	SCMD_SYNCHRONIZE_CACHE		0x35
 #endif
 
-#define	AAC_SECTOR_SIZE			512
-#define	AAC_NUMBER_OF_HEADS		255
-#define	AAC_SECTORS_PER_TRACK		63
-#define	AAC_ROTATION_SPEED		10000
-#define	AAC_MAX_PFN			0xfffff
-
-#define	AAC_ADDITIONAL_LEN		31
-#define	AAC_ANSI_VER			2
-#define	AAC_RESP_DATA_FORMAT		2
-
 /*
  * The controller reports status events in AIFs. We hang on to a number of
  * these in order to pass them out to user-space management tools.
@@ -225,7 +215,7 @@
 	int (*aif_get_fwstatus)(struct aac_softstate *);
 	int (*aif_get_mailbox)(struct aac_softstate *, int);
 	void (*aif_set_mailbox)(struct aac_softstate *, uint32_t,
-		uint32_t, uint32_t, uint32_t, uint32_t);
+	    uint32_t, uint32_t, uint32_t, uint32_t);
 };
 
 struct aac_fib_context {
@@ -248,44 +238,54 @@
 	uint32_t map_size;	/* mapped PCI mem space size */
 	uint32_t map_size_min;	/* minimum size of PCI mem that must be */
 				/* mapped to address the card */
+	int flags;		/* firmware features enabled */
 	dev_info_t *devinfo_p;
 
-	/* dma attributes */
+	/* DMA attributes */
 	ddi_dma_attr_t buf_dma_attr;
 	ddi_dma_attr_t addr_dma_attr;
 
+	/* PCI spaces */
 	ddi_acc_handle_t pci_mem_handle;
 	char *pci_mem_base_addr;
 
-	/* adapter hardware interface */
-	struct aac_interface aac_if;
+	struct aac_interface aac_if;	/* adapter hardware interface */
 
-	struct aac_container container[AAC_MAX_LD];
-	int container_count;	/* max container id */
+	struct sync_mode_res sync_mode;	/* sync FIB */
 
-	struct sync_mode_res sync_mode;
-
-	/* the following is communication space */
+	/* Communication space */
 	struct aac_comm_space *comm_space;
 	ddi_acc_handle_t comm_space_acc_handle;
 	ddi_dma_handle_t comm_space_dma_handle;
 	uint32_t comm_space_phyaddr;
 
-	/* the following is about message queues */
+	/* Old Comm. interface: message queues */
 	struct aac_queue_table *qtablep;
 	struct aac_queue_entry *qentries[AAC_QUEUE_COUNT];
 
-	/* the following is used for soft int */
-	ddi_softintr_t softint_id;
+	/* New Comm. interface */
+	uint32_t aac_max_fibs;		/* max. FIB count */
+	uint32_t aac_max_fib_size;	/* max. FIB size */
+	uint32_t aac_sg_tablesize;	/* max. sg count from host */
+	uint32_t aac_max_sectors;	/* max. I/O size from host (blocks) */
+
+	ddi_iblock_cookie_t iblock_cookie;
+	ddi_softintr_t softint_id;	/* soft intr */
+
+	krwlock_t errlock;		/* hold IO requests at reset */
+	int state;			/* driver state */
+
+	struct aac_container container[AAC_MAX_LD];
+	int container_count;		/* max container id + 1 */
 
 	/*
 	 * Command queues
 	 * Each aac command flows through wait(or wait_sync) queue,
 	 * io_slot and comp queue sequentially.
 	 */
-	struct aac_cmd_queue q_wait_sync;	/* for sync FIB requests */
-	struct aac_cmd_queue q_wait;		/* for async FIB requests */
-	struct aac_cmd_queue q_comp;		/* for completed io requests */
+	struct aac_cmd_queue q_wait_sync; /* sync FIB requests */
+	struct aac_cmd_queue q_wait;	/* async FIB requests */
+	struct aac_cmd_queue q_comp;	/* completed io requests */
 
 	/* I/O slots and FIBs */
 	int total_slots;		/* total slots allocated */
@@ -301,12 +301,7 @@
 	timeout_id_t timeout_id;
 	uint32_t timeout_count;
 
-	int flags;			/* firmware features enabled */
-	int state;			/* driver state */
-	krwlock_t errlock;		/* hold IO requests at reset */
-
-	/* for ioctl_send_fib() */
-	kmutex_t event_mutex;
+	kmutex_t event_mutex;		/* for ioctl_send_fib() */
 	kcondvar_t event;
 
 	/* AIF */
@@ -317,14 +312,6 @@
 	int aifq_filled;
 	struct aac_fib_context *fibctx;
 	int devcfg_wait_on;		/* AIF event waited for rescan */
-
-	/* new comm. interface */
-	uint32_t aac_max_fibs;		/* max. FIB count */
-	uint32_t aac_max_fib_size;	/* max. FIB size */
-	uint32_t aac_sg_tablesize;	/* max. sg count from host */
-	uint32_t aac_max_sectors;	/* max. I/O size from host (blocks) */
-
-	ddi_iblock_cookie_t iblock_cookie;
 };
 
 /* aac_cmd flags */
@@ -358,6 +345,7 @@
 	caddr_t abp;
 	ddi_acc_handle_t abh;
 
+	/* Data transfer state */
 	ddi_dma_cookie_t cookie;
 	uint_t left_cookien;
 	uint_t cur_win;
--- a/usr/src/uts/intel/io/aac/aac_ioctl.c	Sat May 26 19:40:51 2007 -0700
+++ b/usr/src/uts/intel/io/aac/aac_ioctl.c	Sun May 27 19:16:54 2007 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
@@ -55,7 +55,7 @@
  * External functions
  */
 extern int aac_sync_mbcommand(struct aac_softstate *, uint32_t, uint32_t,
-	uint32_t, uint32_t, uint32_t, uint32_t *);
+    uint32_t, uint32_t, uint32_t, uint32_t *);
 extern int aac_do_async_io(struct aac_softstate *, struct aac_cmd *);
 
 extern ddi_device_acc_attr_t aac_acc_attr;
@@ -75,7 +75,7 @@
 static int aac_delete_disk(struct aac_softstate *, intptr_t, int);
 static int aac_supported_features(struct aac_softstate *, intptr_t, int);
 static int aac_return_aif(struct aac_softstate *, struct aac_fib_context *,
-	caddr_t, int);
+    caddr_t, int);
 
 int
 aac_do_ioctl(struct aac_softstate *softs, int cmd, intptr_t arg, int mode)
@@ -132,13 +132,13 @@
 
 	/* Copyin the revision struct from userspace */
 	if (ddi_copyin((void *)arg, &aac_rev,
-		sizeof (struct aac_revision), mode) != 0)
+	    sizeof (struct aac_revision), mode) != 0)
 		return (EFAULT);
 
 	/* Doctor up the response struct */
 	aac_rev.compat = 1;
 	if (ddi_copyout(&aac_rev, (void *)arg,
-		sizeof (struct aac_revision), mode) != 0)
+	    sizeof (struct aac_revision), mode) != 0)
 		return (EFAULT);
 
 	return (0);
@@ -147,25 +147,26 @@
 static int
 aac_ioctl_send_fib(struct aac_softstate *softs, intptr_t arg, int mode)
 {
+	int hbalen;
 	struct aac_cmd *acp;
 	struct aac_fib *fibp;
 	unsigned size;
-	int hbalen, rval = 0;
+	int rval = 0;
 
 	DBCALLED(1);
 
 	if (softs->state == AAC_STATE_DEAD)
 		return (ENXIO);
 
-	/* Copy in the FIB */
+	/* Copy in FIB header */
 	hbalen = sizeof (struct aac_cmd) - sizeof (struct aac_fib) +
-		softs->aac_max_fib_size;
+	    softs->aac_max_fib_size;
 	if ((acp = kmem_zalloc(hbalen, KM_NOSLEEP)) == NULL)
 		return (ENOMEM);
 
 	fibp = &acp->fib;
 	if (ddi_copyin((void *)arg, fibp,
-		sizeof (struct aac_fib_header), mode) != 0) {
+	    sizeof (struct aac_fib_header), mode) != 0) {
 		rval = EFAULT;
 		goto finish;
 	}
@@ -176,6 +177,8 @@
 		rval = EFAULT;
 		goto finish;
 	}
+
+	/* Copy in FIB data */
 	if (ddi_copyin((void *)arg, fibp, size, mode) != 0) {
 		rval = EFAULT;
 		goto finish;
@@ -186,12 +189,12 @@
 	/* Process FIB */
 	if (fibp->Header.Command == TakeABreakPt) {
 		(void) aac_sync_mbcommand(softs, AAC_BREAKPOINT_REQ,
-			0, 0, 0, 0, NULL);
+		    0, 0, 0, 0, NULL);
 		fibp->Header.XferState = 0;
 	} else {
 		ASSERT(!(fibp->Header.XferState & AAC_FIBSTATE_ASYNC));
 		fibp->Header.XferState |=
-			(AAC_FIBSTATE_FROMHOST | AAC_FIBSTATE_REXPECTED);
+		    (AAC_FIBSTATE_FROMHOST | AAC_FIBSTATE_REXPECTED);
 		fibp->Header.Size = size;
 
 		acp->flags = AAC_CMD_HARD_INTR;
@@ -218,7 +221,7 @@
 
 	if (rval == 0) {
 		if (ddi_copyout(fibp, (void *)arg,
-			fibp->Header.Size, mode) != 0) {
+		    fibp->Header.Size, mode) != 0) {
 			rval = EFAULT;
 			goto finish;
 		}
@@ -242,9 +245,9 @@
 
 	mutex_enter(&softs->aifq_mutex);
 	/* All elements are already 0, add to queue */
-	if (softs->fibctx == NULL)
+	if (softs->fibctx == NULL) {
 		softs->fibctx = fibctx;
-	else {
+	} else {
 		for (ctx = softs->fibctx; ctx->next; ctx = ctx->next)
 			;
 		ctx->next = fibctx;
@@ -252,7 +255,7 @@
 	}
 
 	/* Evaluate unique value */
-	fibctx->unique = (unsigned long)fibctx & 0xffffffff;
+	fibctx->unique = (unsigned long)fibctx & 0xfffffffful;
 	ctx = softs->fibctx;
 	while (ctx != fibctx) {
 		if (ctx->unique == fibctx->unique) {
@@ -265,7 +268,7 @@
 	mutex_exit(&softs->aifq_mutex);
 
 	if (ddi_copyout(&fibctx->unique, (void *)arg,
-		sizeof (uint32_t), mode) != 0)
+	    sizeof (uint32_t), mode) != 0)
 		return (EFAULT);
 
 	return (0);
@@ -297,7 +300,7 @@
 #endif
 	if (rval == EAGAIN && af.wait) {
 		AACDB_PRINT((CE_NOTE,
-			"aac_next_getadapter_fib(): waiting for AIF"));
+		    "aac_next_getadapter_fib(): waiting for AIF"));
 		mutex_enter(&softs->aifq_mutex);
 		rval = cv_wait_sig(&softs->aifv, &softs->aifq_mutex);
 		mutex_exit(&softs->aifq_mutex);
@@ -306,10 +309,10 @@
 		else
 #ifdef	_LP64
 			rval = aac_return_aif(softs, ctx,
-				(caddr_t)(uint64_t)af.aif_fib, mode);
+			    (caddr_t)(uint64_t)af.aif_fib, mode);
 #else
 			rval = aac_return_aif(softs, ctx,
-				(caddr_t)af.aif_fib, mode);
+			    (caddr_t)af.aif_fib, mode);
 #endif
 	}
 
@@ -328,9 +331,9 @@
 		if (ctx->unique != (uint32_t)arg)
 			continue;
 
-		if (ctx == softs->fibctx)
+		if (ctx == softs->fibctx) {
 			softs->fibctx = NULL;
-		else {
+		} else {
 			ctx->prev->next = ctx->next;
 			if (ctx->next)
 				ctx->next->prev = ctx->prev;
@@ -352,16 +355,17 @@
 static int
 aac_send_raw_srb(struct aac_softstate *softs, intptr_t arg, int mode)
 {
+	int hbalen;
 	struct aac_cmd *acp;
 	struct aac_fib *fibp;
 	struct aac_srb *srbcmd;
 	struct aac_srb *user_srb = (struct aac_srb *)arg;
 	struct aac_srb_reply *srbreply;
 	void *user_reply;
-	int err, hbalen, rval = 0;
 	uint32_t byte_count = 0, fibsize = 0;
 	uint_t i, dma_flags = DDI_DMA_CONSISTENT;
 	ddi_dma_cookie_t *cookiep = NULL;
+	int err, rval = 0;
 
 	DBCALLED(1);
 
@@ -369,22 +373,26 @@
 		return (ENXIO);
 
 	hbalen = sizeof (struct aac_cmd) - sizeof (struct aac_fib) +
-		softs->aac_max_fib_size;
+	    softs->aac_max_fib_size;
 	if ((acp = kmem_zalloc(hbalen, KM_NOSLEEP)) == NULL)
 		return (ENOMEM);
 
 	fibp = &acp->fib;
 	srbcmd = (struct aac_srb *)fibp->data;
+
+	/* Read srb size */
 	if (ddi_copyin((void *)&user_srb->count, &fibsize,
-		sizeof (uint32_t), mode) != 0) {
+	    sizeof (uint32_t), mode) != 0) {
 		rval = EFAULT;
 		goto finish;
 	}
 	if (fibsize > (softs->aac_max_fib_size - \
-		sizeof (struct aac_fib_header))) {
+	    sizeof (struct aac_fib_header))) {
 		rval = EINVAL;
 		goto finish;
 	}
+
+	/* Copy in srb */
 	if (ddi_copyin((void *)user_srb, srbcmd, fibsize, mode) != 0) {
 		rval = EFAULT;
 		goto finish;
@@ -397,9 +405,9 @@
 		rval = EINVAL;
 		goto finish;
 	}
-	/* Check fibsize */
+	/* Check FIB size */
 	if (fibsize != (sizeof (struct aac_srb) + \
-		(srbcmd->sg.SgCount - 1) * sizeof (struct aac_sg_entry))) {
+	    (srbcmd->sg.SgCount - 1) * sizeof (struct aac_sg_entry))) {
 		rval = EINVAL;
 		goto finish;
 	}
@@ -411,10 +419,10 @@
 	acp->left_cookien = 0;
 
 	err = ddi_dma_alloc_handle(softs->devinfo_p, &softs->buf_dma_attr,
-		DDI_DMA_DONTWAIT, NULL, &acp->buf_dma_handle);
+	    DDI_DMA_DONTWAIT, NULL, &acp->buf_dma_handle);
 	if (err != DDI_SUCCESS) {
 		AACDB_PRINT((CE_WARN,
-			"Can't allocate DMA handle, errno=%d", err));
+		    "Can't allocate DMA handle, errno=%d", rval));
 		rval = EFAULT;
 		goto finish;
 	}
@@ -424,29 +432,29 @@
 		size_t bufsz;
 
 		err = ddi_dma_mem_alloc(acp->buf_dma_handle,
-			AAC_ROUNDUP(srbcmd->sg.SgEntry[0].SgByteCount,
-			AAC_DMA_ALIGN),
-			&aac_acc_attr, DDI_DMA_STREAMING, DDI_DMA_DONTWAIT,
-			NULL, &acp->abp, &bufsz, &acp->abh);
+		    AAC_ROUNDUP(srbcmd->sg.SgEntry[0].SgByteCount,
+		    AAC_DMA_ALIGN),
+		    &aac_acc_attr, DDI_DMA_STREAMING, DDI_DMA_DONTWAIT,
+		    NULL, &acp->abp, &bufsz, &acp->abh);
 		if (err != DDI_SUCCESS) {
 			AACDB_PRINT((CE_NOTE,
-				"Cannot alloc DMA to non-aligned buf"));
+			    "Cannot alloc DMA to non-aligned buf"));
 			rval = ENOMEM;
 			goto finish;
 		}
 
-		if ((srbcmd->flags & (SRB_DataIn|SRB_DataOut)) ==
-			(SRB_DataIn|SRB_DataOut))
+		if ((srbcmd->flags & (SRB_DataIn | SRB_DataOut)) ==
+		    (SRB_DataIn | SRB_DataOut))
 			dma_flags |= DDI_DMA_RDWR;
-		else if ((srbcmd->flags & (SRB_DataIn|SRB_DataOut)) ==
-			SRB_DataIn)
+		else if ((srbcmd->flags & (SRB_DataIn | SRB_DataOut)) ==
+		    SRB_DataIn)
 			dma_flags |= DDI_DMA_READ;
-		else if ((srbcmd->flags & (SRB_DataIn|SRB_DataOut)) ==
-			SRB_DataOut)
+		else if ((srbcmd->flags & (SRB_DataIn | SRB_DataOut)) ==
+		    SRB_DataOut)
 			dma_flags |= DDI_DMA_WRITE;
 		err = ddi_dma_addr_bind_handle(acp->buf_dma_handle, NULL,
-			acp->abp, bufsz, dma_flags, DDI_DMA_DONTWAIT, 0,
-			&acp->cookie, &acp->left_cookien);
+		    acp->abp, bufsz, dma_flags, DDI_DMA_DONTWAIT, 0,
+		    &acp->cookie, &acp->left_cookien);
 		if (err != DDI_DMA_MAPPED) {
 			AACDB_PRINT((CE_NOTE, "Cannot bind buf for DMA"));
 			rval = EFAULT;
@@ -457,13 +465,13 @@
 		if (srbcmd->flags & SRB_DataOut) {
 			if (ddi_copyin(
 #ifdef _LP64
-				(void *)(uint64_t)user_srb-> \
-					sg.SgEntry[0].SgAddress,
+			    (void *)(uint64_t)user_srb-> \
+			    sg.SgEntry[0].SgAddress,
 #else
-				(void *)user_srb->sg.SgEntry[0].SgAddress,
+			    (void *)user_srb->sg.SgEntry[0].SgAddress,
 #endif
-				acp->abp, user_srb->sg.SgEntry[0].SgByteCount,
-				mode) != 0) {
+			    acp->abp, user_srb->sg.SgEntry[0].SgByteCount,
+			    mode) != 0) {
 				rval = EFAULT;
 				goto finish;
 			}
@@ -473,48 +481,48 @@
 	/* Fill in command, sg elements */
 	if (softs->flags & AAC_FLAGS_SG_64BIT) {
 		struct aac_sg_entry64 *sgp = (struct aac_sg_entry64 *)
-			srbcmd->sg.SgEntry;
+		    srbcmd->sg.SgEntry;
 
 		fibp->Header.Command = ScsiPortCommandU64;
 		for (i = 0; i < acp->left_cookien &&
-			i < softs->aac_sg_tablesize; i++) {
+		    i < softs->aac_sg_tablesize; i++) {
 			sgp[i].SgAddress = cookiep->dmac_laddress;
 			sgp[i].SgByteCount = cookiep->dmac_size;
 			if ((i + 1) < acp->left_cookien)
 				ddi_dma_nextcookie(acp->buf_dma_handle,
-					cookiep);
+				    cookiep);
 			byte_count += sgp[i].SgByteCount;
 		}
 		fibsize = sizeof (struct aac_srb) - \
-			sizeof (struct aac_sg_entry) + \
-			i * sizeof (struct aac_sg_entry64);
+		    sizeof (struct aac_sg_entry) + \
+		    i * sizeof (struct aac_sg_entry64);
 	} else {
 		struct aac_sg_entry *sgp = srbcmd->sg.SgEntry;
 
 		fibp->Header.Command = ScsiPortCommand;
 		for (i = 0; i < acp->left_cookien &&
-			i < softs->aac_sg_tablesize; i++) {
+		    i < softs->aac_sg_tablesize; i++) {
 			sgp[i].SgAddress = cookiep->dmac_laddress;
 			sgp[i].SgByteCount = cookiep->dmac_size;
 			if ((i + 1) < acp->left_cookien)
 				ddi_dma_nextcookie(acp->buf_dma_handle,
-					cookiep);
+				    cookiep);
 			byte_count += sgp[i].SgByteCount;
 		}
 		fibsize = sizeof (struct aac_srb) + \
-			(i - 1) * sizeof (struct aac_sg_entry);
+		    (i - 1) * sizeof (struct aac_sg_entry);
 	}
 	srbcmd->count = byte_count;
 	srbcmd->sg.SgCount = i;
 
 	/* Fill fib header */
 	fibp->Header.XferState =
-		AAC_FIBSTATE_HOSTOWNED |
-		AAC_FIBSTATE_INITIALISED |
-		AAC_FIBSTATE_EMPTY |
-		AAC_FIBSTATE_FROMHOST |
-		AAC_FIBSTATE_REXPECTED |
-		AAC_FIBSTATE_NORM;
+	    AAC_FIBSTATE_HOSTOWNED |
+	    AAC_FIBSTATE_INITIALISED |
+	    AAC_FIBSTATE_EMPTY |
+	    AAC_FIBSTATE_FROMHOST |
+	    AAC_FIBSTATE_REXPECTED |
+	    AAC_FIBSTATE_NORM;
 	fibp->Header.Size = sizeof (struct aac_fib_header) + fibsize;
 	fibp->Header.StructType = AAC_FIBTYPE_TFIB;
 	fibp->Header.SenderSize = softs->aac_max_fib_size;
@@ -548,20 +556,20 @@
 	if ((srbcmd->sg.SgCount == 1) && (srbcmd->flags & SRB_DataIn)) {
 		if (ddi_copyout(acp->abp,
 #ifdef _LP64
-			(void *)(uint64_t)user_srb->sg.SgEntry[0].SgAddress,
+		    (void *)(uint64_t)user_srb->sg.SgEntry[0].SgAddress,
 #else
-			(void *)user_srb->sg.SgEntry[0].SgAddress,
+		    (void *)user_srb->sg.SgEntry[0].SgAddress,
 #endif
-			user_srb->sg.SgEntry[0].SgByteCount, mode) != 0) {
+		    user_srb->sg.SgEntry[0].SgByteCount, mode) != 0) {
 			rval = EFAULT;
 			goto finish;
 		}
 	}
 
-	/* Status struct. */
+	/* Status struct */
 	srbreply = (struct aac_srb_reply *)fibp->data;
 	if (ddi_copyout(srbreply, user_reply,
-		sizeof (struct aac_srb_reply), mode) != 0) {
+	    sizeof (struct aac_srb_reply), mode) != 0) {
 		rval = EFAULT;
 		goto finish;
 	}
@@ -580,15 +588,15 @@
 static int
 aac_get_pci_info(intptr_t arg, int mode)
 {
-	struct aac_pci_info response;
+	struct aac_pci_info resp;
 
 	DBCALLED(1);
 
-	response.bus = 0;
-	response.slot = 0;
+	resp.bus = 0;
+	resp.slot = 0;
 
-	if (ddi_copyout(&response, (void *)arg,
-		sizeof (struct aac_pci_info), mode) != 0)
+	if (ddi_copyout(&resp, (void *)arg,
+	    sizeof (struct aac_pci_info), mode) != 0)
 		return (EFAULT);
 	return (0);
 }
@@ -603,16 +611,17 @@
 	if (ddi_copyin((void *)arg, &qdisk, sizeof (qdisk), mode) != 0)
 		return (EFAULT);
 
-	if (qdisk.container_no == -1)
+	if (qdisk.container_no == -1) {
 		qdisk.container_no = qdisk.target * 16 + qdisk.lun;
-	else if (qdisk.bus == -1 && qdisk.target == -1 && qdisk.lun == -1) {
+	} else if (qdisk.bus == -1 && qdisk.target == -1 && qdisk.lun == -1) {
 		if (qdisk.container_no > AAC_MAX_CONTAINERS)
 			return (EINVAL);
 		qdisk.bus = 0;
 		qdisk.target = (qdisk.container_no & 0xf);
 		qdisk.lun = (qdisk.container_no >> 4);
-	} else
+	} else {
 		return (EINVAL);
+	}
 
 	qdisk.valid = softs->container[qdisk.container_no].valid;
 	qdisk.locked = softs->container[qdisk.container_no].locked;
@@ -673,12 +682,12 @@
 	 */
 	if (f.feat.fValue == 0) {
 		f.feat.fBits.largeLBA =
-			(softs->flags & AAC_FLAGS_LBA_64BIT) ? 1 : 0;
+		    (softs->flags & AAC_FLAGS_LBA_64BIT) ? 1 : 0;
 		/* TODO: In the future, add other features state here as well */
 	} else {
 		if (f.feat.fBits.largeLBA)
 			f.feat.fBits.largeLBA =
-				(softs->flags & AAC_FLAGS_LBA_64BIT) ? 1 : 0;
+			    (softs->flags & AAC_FLAGS_LBA_64BIT) ? 1 : 0;
 		/* TODO: Add other features state and data in the future */
 	}
 
@@ -689,7 +698,7 @@
 
 static int
 aac_return_aif(struct aac_softstate *softs,
-	struct aac_fib_context *ctx, caddr_t uptr, int mode)
+    struct aac_fib_context *ctx, caddr_t uptr, int mode)
 {
 	int current;
 
@@ -701,7 +710,7 @@
 		return (EAGAIN);
 	}
 	if (ddi_copyout(&softs->aifq[current], (void *)uptr,
-		sizeof (struct aac_fib), mode) != 0) {
+	    sizeof (struct aac_fib), mode) != 0) {
 		mutex_exit(&softs->aifq_mutex);
 		return (EFAULT);
 	}
--- a/usr/src/uts/intel/io/aac/aac_ioctl.h	Sat May 26 19:40:51 2007 -0700
+++ b/usr/src/uts/intel/io/aac/aac_ioctl.h	Sun May 27 19:16:54 2007 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
@@ -114,38 +114,7 @@
 
 /*
  * The following definitions come from Adaptec:
- *
- * SRB is required for the new management tools
  */
-#define	SRB_DataIn	0x0040
-#define	SRB_DataOut	0x0080
-struct aac_srb
-{
-	int32_t function;
-	int32_t channel;
-	int32_t id;
-	int32_t lun;
-	int32_t timeout;
-	int32_t flags;
-	int32_t count;	/* Data xfer size */
-	int32_t retry_limit;
-	int32_t cdb_size;
-	int8_t cdb[16];
-	struct aac_sg_table sg;
-};
-
-#define		AAC_SENSE_BUFFERSIZE	 30
-struct aac_srb_reply
-{
-	int32_t	status;
-	int32_t srb_status;
-	int32_t scsi_status;
-	int32_t data_xfer_length;
-	int32_t sense_data_size;
-	int8_t sense_data[AAC_SENSE_BUFFERSIZE];    /* Can this be */
-						    /* SCSI_SENSE_BUFFERSIZE */
-};
-
 typedef union {
 	struct {
 		uint32_t largeLBA  : 1;	/* disk support greater 2TB */
--- a/usr/src/uts/intel/io/aac/aac_regs.h	Sat May 26 19:40:51 2007 -0700
+++ b/usr/src/uts/intel/io/aac/aac_regs.h	Sun May 27 19:16:54 2007 -0700
@@ -87,13 +87,23 @@
 #define	AAC_MONKER_GETCOMMPREF	0x26
 #define	AAC_IOP_RESET		0x1000
 
+#define	AAC_SECTOR_SIZE		512
+#define	AAC_NUMBER_OF_HEADS	255
+#define	AAC_SECTORS_PER_TRACK	63
+#define	AAC_ROTATION_SPEED	10000
+#define	AAC_MAX_PFN		0xfffff
+
+#define	AAC_ADDITIONAL_LEN	31
+#define	AAC_ANSI_VER		2
+#define	AAC_RESP_DATA_FORMAT	2
+
 #define	AAC_NSEG		17	/* max number of segments */
 #define	AAC_MAX_LD		64	/* max number of logical disks */
-#define	AAC_BLK_SIZE		512
+#define	AAC_BLK_SIZE		AAC_SECTOR_SIZE
 #define	AAC_DMA_ALIGN		4
 #define	AAC_DMA_ALIGN_MASK	(AAC_DMA_ALIGN - 1)
 
-#define	AAC_MAX_CONTAINERS	64
+#define	AAC_MAX_CONTAINERS	AAC_MAX_LD
 
 /*
  * Minimum memory sizes we need to map to address the adapter. Before
@@ -643,10 +653,6 @@
 /* General return status */
 #define	CT_OK				218
 
-/* Status codes for SCSI passthrough commands */
-#define	AAC_SRB_STS_SUCCESS		1
-#define	AAC_SRB_STS_INVALID_REQUEST	6
-
 struct aac_fsa_ctm {
 	uint32_t	command;
 	uint32_t	param[CT_FIB_PARAMS];
@@ -841,6 +847,9 @@
 	struct aac_sg_tableraw	SgMapRaw;
 };
 
+/*
+ * Container shutdown command.
+ */
 struct aac_close_command {
 	uint32_t		Command;
 	uint32_t		ContainerId;
@@ -945,7 +954,7 @@
 
 /*
  * Table of queue indices and queues used to communicate with the
- * controller.  This structure must be aligned to AAC_QUEUE_ALIGN
+ * controller. This structure must be aligned to AAC_QUEUE_ALIGN.
  */
 struct aac_queue_table {
 	/* queue consumer/producer indexes (layout mandated by adapter) */
@@ -953,21 +962,21 @@
 
 	/* queue entry structures (layout mandated by adapter) */
 	struct aac_queue_entry qt_HostNormCmdQueue \
-		[AAC_HOST_NORM_CMD_ENTRIES];
+	    [AAC_HOST_NORM_CMD_ENTRIES];
 	struct aac_queue_entry qt_HostHighCmdQueue \
-		[AAC_HOST_HIGH_CMD_ENTRIES];
+	    [AAC_HOST_HIGH_CMD_ENTRIES];
 	struct aac_queue_entry qt_AdapNormCmdQueue \
-		[AAC_ADAP_NORM_CMD_ENTRIES];
+	    [AAC_ADAP_NORM_CMD_ENTRIES];
 	struct aac_queue_entry qt_AdapHighCmdQueue \
-		[AAC_ADAP_HIGH_CMD_ENTRIES];
+	    [AAC_ADAP_HIGH_CMD_ENTRIES];
 	struct aac_queue_entry qt_HostNormRespQueue \
-		[AAC_HOST_NORM_RESP_ENTRIES];
+	    [AAC_HOST_NORM_RESP_ENTRIES];
 	struct aac_queue_entry qt_HostHighRespQueue \
-		[AAC_HOST_HIGH_RESP_ENTRIES];
+	    [AAC_HOST_HIGH_RESP_ENTRIES];
 	struct aac_queue_entry qt_AdapNormRespQueue \
-		[AAC_ADAP_NORM_RESP_ENTRIES];
+	    [AAC_ADAP_NORM_RESP_ENTRIES];
 	struct aac_queue_entry qt_AdapHighRespQueue \
-		[AAC_ADAP_HIGH_RESP_ENTRIES];
+	    [AAC_ADAP_HIGH_RESP_ENTRIES];
 };
 /* ************AAC QUEUE DEFINES (ABOVE)*********** */
 
@@ -1343,6 +1352,78 @@
 #define	Read10				0x0056
 #define	Write10				0x0057
 
+/*
+ * SRB SCSI Status
+ * Status codes for SCSI passthrough commands,
+ * set in aac_srb->scsi_status
+ */
+#define	SRB_STATUS_PENDING			0x00
+#define	SRB_STATUS_SUCCESS			0x01
+#define	SRB_STATUS_ABORTED			0x02
+#define	SRB_STATUS_ABORT_FAILED			0x03
+#define	SRB_STATUS_ERROR			0x04
+#define	SRB_STATUS_BUSY				0x05
+#define	SRB_STATUS_INVALID_REQUEST		0x06
+#define	SRB_STATUS_INVALID_PATH_ID		0x07
+#define	SRB_STATUS_NO_DEVICE			0x08
+#define	SRB_STATUS_TIMEOUT			0x09
+#define	SRB_STATUS_SELECTION_TIMEOUT		0x0A
+#define	SRB_STATUS_COMMAND_TIMEOUT		0x0B
+#define	SRB_STATUS_MESSAGE_REJECTED		0x0D
+#define	SRB_STATUS_BUS_RESET			0x0E
+#define	SRB_STATUS_PARITY_ERROR			0x0F
+#define	SRB_STATUS_REQUEST_SENSE_FAILED		0x10
+#define	SRB_STATUS_NO_HBA			0x11
+#define	SRB_STATUS_DATA_OVERRUN			0x12
+#define	SRB_STATUS_UNEXPECTED_BUS_FREE		0x13
+#define	SRB_STATUS_PHASE_SEQUENCE_FAILURE	0x14
+#define	SRB_STATUS_BAD_SRB_BLOCK_LENGTH		0x15
+#define	SRB_STATUS_REQUEST_FLUSHED		0x16
+#define	SRB_STATUS_DELAYED_RETRY		0x17
+#define	SRB_STATUS_INVALID_LUN			0x20
+#define	SRB_STATUS_INVALID_TARGET_ID		0x21
+#define	SRB_STATUS_BAD_FUNCTION			0x22
+#define	SRB_STATUS_ERROR_RECOVERY		0x23
+#define	SRB_STATUS_NOT_STARTED			0x24
+#define	SRB_STATUS_NOT_IN_USE			0x30
+#define	SRB_STATUS_FORCE_ABORT			0x31
+#define	SRB_STATUS_DOMAIN_VALIDATION_FAIL	0x32
+
+/*
+ * The following definitions come from Adaptec:
+ *
+ * SRB is required for the new management tools
+ * and non-DASD support.
+ */
+#define	SRB_DataIn	0x0040
+#define	SRB_DataOut	0x0080
+struct aac_srb
+{
+	uint32_t function;
+	uint32_t channel;
+	uint32_t id;
+	uint32_t lun;
+	uint32_t timeout;
+	uint32_t flags;
+	uint32_t count;	/* Data xfer size */
+	uint32_t retry_limit;
+	uint32_t cdb_size;
+	uint8_t cdb[16];
+	struct aac_sg_table sg;
+};
+
+#define	AAC_SENSE_BUFFERSIZE	 30
+struct aac_srb_reply
+{
+	uint32_t status;
+	uint32_t srb_status;
+	uint32_t scsi_status;
+	uint32_t data_xfer_length;
+	uint32_t sense_data_size;
+	uint8_t sense_data[AAC_SENSE_BUFFERSIZE];    /* Can this be */
+						    /* SCSI_SENSE_BUFFERSIZE */
+};
+
 #pragma	pack()
 
 /* AAC Communication Space */