diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/scsi/ips.c linux-2.5/drivers/scsi/ips.c
--- bk-linus/drivers/scsi/ips.c	2002-11-21 02:18:05.000000000 +0000
+++ linux-2.5/drivers/scsi/ips.c	2002-11-21 18:00:44.000000000 +0000
@@ -83,7 +83,7 @@
 /*            2.3.18 and later                                               */
 /*          - Sync with other changes from the 2.3 kernels                   */
 /* 4.00.06  - Fix timeout with initial FFDC command                          */
-/* 4.00.06a - Port to 2.4 (trivial) -- Christoph Hellwig <hch@caldera.de>    */
+/* 4.00.06a - Port to 2.4 (trivial) -- Christoph Hellwig <hch@infradead.org> */
 /* 4.10.00  - Add support for ServeRAID 4M/4L                                */
 /* 4.10.13  - Fix for dynamic unload and proc file system                    */
 /* 4.20.03  - Rename version to coincide with new release schedules          */
@@ -190,6 +190,7 @@
 #ifdef MODULE
    static char *ips = NULL;
    MODULE_PARM(ips, "s");
+   MODULE_LICENSE("GPL");
 #endif
 
 /*
@@ -884,7 +885,7 @@ ips_detect(Scsi_Host_Template *SHT) {
             DEBUG_VAR(1, "(%s%d) detect, IO region %x, size: %d",
                       ips_name, ips_next_controller, io_addr, io_len);
 
-            if (check_region(io_addr, io_len)) {
+            if (!request_region(io_addr, io_len, "ips")) {
                /* Couldn't allocate io space */
                printk(KERN_WARNING "(%s%d) couldn't allocate IO space %x len %d.\n",
                       ips_name, ips_next_controller, io_addr, io_len);
@@ -893,8 +894,6 @@ ips_detect(Scsi_Host_Template *SHT) {
 
                continue;
             }
-
-            request_region(io_addr, io_len, "ips");
          }
 
          /* get planer status */