patch-2.0.21-2.1.0 linux/drivers/scsi/ncr53c8xx.c

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

diff -u --recursive --new-file lx2.0/v2.0.21/linux/drivers/scsi/ncr53c8xx.c linux/drivers/scsi/ncr53c8xx.c
@@ -301,7 +301,7 @@
 **
 **	Linux 1.3.X allow to remap physical pages addresses greater than
 **	the highest physical memory address to kernel virtual pages.
-**	We must use vremap() to map the page and vfree() to unmap it.
+**	We must use ioremap() to map the page and iounmap() to unmap it.
 **	The memory base of ncr chips is set by the bios at a high physical
 **	address. Also we can map it, and MMIO is possible.
 */
@@ -310,13 +310,13 @@
 {
 	u_long page_base	= ((u_long) base) & PAGE_MASK;
 	u_long page_offs	= ((u_long) base) - page_base;
-	u_long page_remapped	= (u_long) vremap(page_base, page_offs+size);
+	u_long page_remapped	= (u_long) ioremap(page_base, page_offs+size);
 
 	return (vm_offset_t) (page_remapped ? (page_remapped + page_offs) : 0UL);
 }
 static inline void unmap_pci_mem(vm_offset_t vaddr, u_long size)
 {
-	if (vaddr) vfree((void *) (vaddr & PAGE_MASK));
+	if (vaddr) iounmap((void *) (vaddr & PAGE_MASK));
 }
 
 #else
@@ -547,7 +547,7 @@
 #define INB_OFF(o)         IOM_INB_OFF(o)
 #define INW(r)             IOM_INW(r)
 #define INL(r)             IOM_INL(r)
-#define INL_OFF(r)         IOM_INL_OFF(o)
+#define INL_OFF(o)         IOM_INL_OFF(o)
 
 #define OUTB(r, val)       IOM_OUTB(r, val)
 #define OUTW(r, val)       IOM_OUTW(r, val)
@@ -3587,7 +3587,7 @@
 #   ifdef SCSI_NCR_SHARE_IRQ
 	printf("%s: requesting shared irq %d (dev_id=0x%lx)\n",
 	        ncr_name(np), irq, (u_long) np);
-	if (request_irq(irq, ncr53c8xx_intr, SA_SHIRQ, "53c8xx", np)) {
+	if (request_irq(irq, ncr53c8xx_intr, SA_INTERRUPT|SA_SHIRQ, "53c8xx", np)) {
 #   else
 	if (request_irq(irq, ncr53c8xx_intr, SA_INTERRUPT, "53c8xx", NULL)) {
 #   endif
@@ -4790,6 +4790,11 @@
 	ncr_wakeup (np, code);
 
 	/*
+	**	Remove Reset, abort ...
+	*/
+	OUTB (nc_istat,  0      );
+
+	/*
 	**	Init chip.
 	*/
 /**	NCR53C810			**/
@@ -4838,8 +4843,6 @@
 	burstlen = 0xc0;
 #endif
 
-	OUTB (nc_istat,  0      );      /*  Remove Reset, abort ...	     */
-
 #ifdef SCSI_NCR_DISABLE_PARITY_CHECK
 	OUTB (nc_scntl0, 0xc0   );      /*  full arb., (no parity)           */
 #else
@@ -7636,7 +7639,6 @@
 #if LINUX_VERSION_CODE >= LinuxVersionCode(1,3,70)
 #   ifdef SCSI_NCR_SHARE_IRQ
                if (dev_id == &host_data->ncb_data)
-	       	    ncr_intr(&host_data->ncb_data);
 #   endif
 #endif
 	       ncr_intr(&host_data->ncb_data);

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