[SCSI] aacraid: prohibit access to array container space
[safe/jmp/linux-2.6] / drivers / scsi / lasi700.c
index 8028418..23880f8 100644 (file)
@@ -38,9 +38,9 @@
 #include <linux/stat.h>
 #include <linux/mm.h>
 #include <linux/blkdev.h>
-#include <linux/sched.h>
 #include <linux/ioport.h>
 #include <linux/dma-mapping.h>
+#include <linux/slab.h>
 
 #include <asm/page.h>
 #include <asm/pgtable.h>
@@ -102,17 +102,15 @@ lasi700_probe(struct parisc_device *dev)
        struct NCR_700_Host_Parameters *hostdata;
        struct Scsi_Host *host;
 
-       hostdata = kmalloc(sizeof(*hostdata), GFP_KERNEL);
+       hostdata = kzalloc(sizeof(*hostdata), GFP_KERNEL);
        if (!hostdata) {
-               printk(KERN_ERR "%s: Failed to allocate host data\n",
-                      dev->dev.bus_id);
+               dev_printk(KERN_ERR, &dev->dev, "Failed to allocate host data\n");
                return -ENOMEM;
        }
-       memset(hostdata, 0, sizeof(struct NCR_700_Host_Parameters));
 
        hostdata->dev = &dev->dev;
-       dma_set_mask(&dev->dev, DMA_32BIT_MASK);
-       hostdata->base = ioremap(base, 0x100);
+       dma_set_mask(&dev->dev, DMA_BIT_MASK(32));
+       hostdata->base = ioremap_nocache(base, 0x100);
        hostdata->differential = 0;
 
        if (dev->id.sversion == LASI_700_SVERSION) {
@@ -123,17 +121,16 @@ lasi700_probe(struct parisc_device *dev)
                hostdata->force_le_on_be = 0;
                hostdata->chip710 = 1;
                hostdata->dmode_extra = DMODE_FC2;
+               hostdata->burst_length = 8;
        }
 
-       NCR_700_set_mem_mapped(hostdata);
-
        host = NCR_700_detect(&lasi700_template, hostdata, &dev->dev);
        if (!host)
                goto out_kfree;
        host->this_id = 7;
        host->base = base;
        host->irq = dev->irq;
-       if(request_irq(dev->irq, NCR_700_intr, SA_SHIRQ, "lasi700", host)) {
+       if(request_irq(dev->irq, NCR_700_intr, IRQF_SHARED, "lasi700", host)) {
                printk(KERN_ERR "lasi700: request_irq failed!\n");
                goto out_put_host;
        }