patch-2.1.1 linux/drivers/scsi/aha1542.c

Next file: linux/drivers/scsi/eata.c
Previous file: linux/drivers/scsi/Makefile
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.0/linux/drivers/scsi/aha1542.c linux/drivers/scsi/aha1542.c
@@ -636,7 +636,7 @@
 	  panic("Foooooooood fight!");
 	};
 	any2scsi(cptr[i].dataptr, SCSI_PA(sgpnt[i].address));
-	if(SCSI_PA(sgpnt[i].address+sgpnt[i].length) > ISA_DMA_THRESHOLD)
+	if(SCSI_PA(sgpnt[i].address+sgpnt[i].length-1) > ISA_DMA_THRESHOLD)
 	  BAD_DMA("sgpnt", sgpnt[i].address, sgpnt[i].length);
 	any2scsi(cptr[i].datalen, sgpnt[i].length);
       };
@@ -651,7 +651,7 @@
       ccb[mbo].op = 0;	      /* SCSI Initiator Command */
       SCpnt->host_scribble = NULL;
       any2scsi(ccb[mbo].datalen, bufflen);
-      if(buff && SCSI_PA(buff+bufflen) > ISA_DMA_THRESHOLD)
+      if(buff && SCSI_PA(buff+bufflen-1) > ISA_DMA_THRESHOLD)
         BAD_DMA("buff", buff, bufflen);
       any2scsi(ccb[mbo].dataptr, SCSI_PA(buff));
     };
@@ -950,7 +950,7 @@
 
 		    /* For now we do this - until kmalloc is more intelligent
 		       we are resigned to stupid hacks like this */
-		    if (SCSI_PA(shpnt+1) > ISA_DMA_THRESHOLD) {
+		    if (SCSI_PA(shpnt) >= ISA_DMA_THRESHOLD) {
 		      printk("Invalid address for shpnt with 1542.\n");
 		      goto unregister;
 		    }

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov