diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/scsi/ini9100u.c linux-2.5/drivers/scsi/ini9100u.c
--- bk-linus/drivers/scsi/ini9100u.c	2002-11-21 02:18:04.000000000 +0000
+++ linux-2.5/drivers/scsi/ini9100u.c	2002-11-21 18:00:42.000000000 +0000
@@ -108,7 +108,7 @@
 
 #define CVT_LINUX_VERSION(V,P,S)        (V * 65536 + P * 256 + S)
 
-#error Please convert me to Documentation/DMA-mapping.txt
+/* #error Please convert me to Documentation/DMA-mapping.txt */
 
 #ifndef LINUX_VERSION_CODE
 #include <linux/version.h>
@@ -490,7 +490,9 @@ static void i91uBuildSCB(HCS * pHCB, SCB
 	if (SCpnt->use_sg) {
 		pSrbSG = (struct scatterlist *) SCpnt->request_buffer;
 		if (SCpnt->use_sg == 1) {	/* If only one entry in the list *//*      treat it as regular I/O */
-			pSCB->SCB_BufPtr = (U32) VIRT_TO_BUS(pSrbSG->address);
+			pSCB->SCB_BufPtr = (U32) VIRT_TO_BUS(
+				(unsigned char *)page_address(pSrbSG->page) + 
+				pSrbSG->offset);
 			TotalLen = pSrbSG->length;
 			pSCB->SCB_SGLen = 0;
 		} else {	/* Assign SG physical address   */
@@ -499,7 +501,9 @@ static void i91uBuildSCB(HCS * pHCB, SCB
 			for (i = 0, TotalLen = 0, pSG = &pSCB->SCB_SGList[0];	/* 1.01g */
 			     i < SCpnt->use_sg;
 			     i++, pSG++, pSrbSG++) {
-				pSG->SG_Ptr = (U32) VIRT_TO_BUS(pSrbSG->address);
+				pSG->SG_Ptr = (U32) VIRT_TO_BUS(
+				  (unsigned char *)page_address(pSrbSG->page) + 
+				  pSrbSG->offset);
 				TotalLen += pSG->SG_Len = pSrbSG->length;
 			}
 			pSCB->SCB_SGLen = i;
@@ -551,6 +555,7 @@ int i91u_command(Scsi_Cmnd * SCpnt)
 	return -1;
 }
 
+#if 0
 /*
  *  Abort a queued command
  *  (commands that are on the bus can't be aborted easily)
@@ -578,6 +583,16 @@ int i91u_reset(Scsi_Cmnd * SCpnt, unsign
 	else
 		return tul_device_reset(pHCB, (ULONG) SCpnt, SCpnt->target, reset_flags);
 }
+#endif
+
+static int i91u_eh_bus_reset(Scsi_Cmnd * SCpnt)
+{
+	HCS *pHCB;
+
+        pHCB = (HCS *) SCpnt->host->base;
+	tul_reset_scsi_bus(pHCB);
+	return SUCCESS;
+}
 
 /*
  * Return the "logical geometry"
diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/scsi/ini9100u.h linux-2.5/drivers/scsi/ini9100u.h
--- bk-linus/drivers/scsi/ini9100u.h	2002-11-21 02:18:04.000000000 +0000
+++ linux-2.5/drivers/scsi/ini9100u.h	2002-11-21 18:00:42.000000000 +0000
@@ -101,10 +101,8 @@ extern int i91u_biosparam(struct scsi_de
  	eh_strategy_handler: NULL, \
  	eh_abort_handler: NULL, \
  	eh_device_reset_handler: NULL, \
- 	eh_bus_reset_handler: NULL, \
+ 	eh_bus_reset_handler: i91u_eh_bus_reset, \
  	eh_host_reset_handler: NULL, \
-	abort:		i91u_abort, \
-	reset:		i91u_reset, \
 	slave_attach:	NULL, \
 	bios_param:	i91u_biosparam, \
 	can_queue:	1, \
