]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/scsi/sun3x_esp.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid
[linux-2.6-omap-h63xx.git] / drivers / scsi / sun3x_esp.c
index 1f328cae5c05c2faf303204f7acd16329e4ba23b..1bc41907a03817c206db14357ccf11976a2843a6 100644 (file)
@@ -53,7 +53,7 @@ int sun3x_esp_detect(struct scsi_host_template *tpnt)
        struct ConfigDev *esp_dev;
 
        esp_dev = 0;
-       esp = esp_allocate(tpnt, (void *) esp_dev);
+       esp = esp_allocate(tpnt, esp_dev, 0);
 
        /* Do command transfer with DMA */
        esp->do_pio_cmds = 0;
@@ -332,8 +332,8 @@ static void dma_mmu_get_scsi_sgl (struct NCR_ESP *esp, Scsi_Cmnd *sp)
     struct scatterlist *sg = sp->SCp.buffer;
 
     while (sz >= 0) {
-           sg[sz].dma_address = dvma_map((unsigned long)page_address(sg[sz].page) +
-                                          sg[sz].offset, sg[sz].length);
+           sg[sz].dma_address = dvma_map((unsigned long)sg_virt(&sg[sz]),
+                                         sg[sz].length);
            sz--;
     }
     sp->SCp.ptr=(char *)((unsigned long)sp->SCp.buffer->dma_address);
@@ -347,7 +347,7 @@ static void dma_mmu_release_scsi_one (struct NCR_ESP *esp, Scsi_Cmnd *sp)
 static void dma_mmu_release_scsi_sgl (struct NCR_ESP *esp, Scsi_Cmnd *sp)
 {
     int sz = sp->use_sg - 1;
-    struct scatterlist *sg = (struct scatterlist *)sp->buffer;
+    struct scatterlist *sg = (struct scatterlist *)sp->request_buffer;
                         
     while(sz >= 0) {
         dvma_unmap((char *)sg[sz].dma_address);