linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / drivers / scsi / nsp32.c
index bfb4f49..a279ebb 100644 (file)
@@ -38,7 +38,6 @@
 #include <linux/pci.h>
 #include <linux/delay.h>
 #include <linux/ctype.h>
-#include <linux/dma-mapping.h>
 
 #include <asm/dma.h>
 #include <asm/system.h>
@@ -1636,7 +1635,7 @@ static void nsp32_scsi_done(struct scsi_cmnd *SCpnt)
 
        if (SCpnt->use_sg) {
                pci_unmap_sg(data->Pci,
-                            (struct scatterlist *)SCpnt->request_buffer,
+                            (struct scatterlist *)SCpnt->buffer,
                             SCpnt->use_sg, SCpnt->sc_data_direction);
        } else {
                pci_unmap_single(data->Pci,
@@ -2777,7 +2776,7 @@ static int nsp32_detect(struct scsi_host_template *sht)
        /*
         * setup DMA 
         */
-       if (pci_set_dma_mask(PCIDEV, DMA_32BIT_MASK) != 0) {
+       if (pci_set_dma_mask(PCIDEV, 0xffffffffUL) != 0) {
                nsp32_msg (KERN_ERR, "failed to set PCI DMA mask");
                goto scsi_unregister;
        }
@@ -2866,7 +2865,8 @@ static int nsp32_detect(struct scsi_host_template *sht)
         */
        nsp32_do_bus_reset(data);
 
-       ret = request_irq(host->irq, do_nsp32_isr, IRQF_SHARED, "nsp32", data);
+       ret = request_irq(host->irq, do_nsp32_isr,
+                         SA_SHIRQ | SA_SAMPLE_RANDOM, "nsp32", data);
        if (ret < 0) {
                nsp32_msg(KERN_ERR, "Unable to allocate IRQ for NinjaSCSI32 "
                          "SCSI PCI controller. Interrupt: %d", host->irq);
@@ -2885,19 +2885,12 @@ static int nsp32_detect(struct scsi_host_template *sht)
         }
 
 #if (LINUX_VERSION_CODE > KERNEL_VERSION(2,5,73))
-       ret = scsi_add_host(host, &PCIDEV->dev);
-       if (ret) {
-               nsp32_msg(KERN_ERR, "failed to add scsi host");
-               goto free_region;
-       }
+       scsi_add_host (host, &PCIDEV->dev);
        scsi_scan_host(host);
 #endif
        pci_set_drvdata(PCIDEV, host);
        return DETECT_OK;
 
- free_region:
-       release_region(host->io_port, host->n_io_port);
-
  free_irq:
        free_irq(host->irq, data);