]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/scsi/3w-9xxx.c
[SCSI] Revert "[SCSI] aacraid: fib context lock for management ioctls"
[linux-2.6-omap-h63xx.git] / drivers / scsi / 3w-9xxx.c
index efd9d8d3a890c60ead2c5b5d547ff636cde73cfb..b4912d1cee2aa164e81a82ffaefd9e01d991b2b0 100644 (file)
@@ -1840,7 +1840,7 @@ static int twa_scsiop_execute_scsi(TW_Device_Extension *tw_dev, int request_id,
                            (scsi_bufflen(srb) < TW_MIN_SGL_LENGTH)) {
                                if (srb->sc_data_direction == DMA_TO_DEVICE || srb->sc_data_direction == DMA_BIDIRECTIONAL) {
                                        struct scatterlist *sg = scsi_sglist(srb);
-                                       char *buf = kmap_atomic(sg->page, KM_IRQ0) + sg->offset;
+                                       char *buf = kmap_atomic(sg_page(sg), KM_IRQ0) + sg->offset;
                                        memcpy(tw_dev->generic_buffer_virt[request_id], buf, sg->length);
                                        kunmap_atomic(buf - sg->offset, KM_IRQ0);
                                }
@@ -1919,7 +1919,7 @@ static void twa_scsiop_execute_scsi_complete(TW_Device_Extension *tw_dev, int re
                        char *buf;
                        unsigned long flags = 0;
                        local_irq_save(flags);
-                       buf = kmap_atomic(sg->page, KM_IRQ0) + sg->offset;
+                       buf = kmap_atomic(sg_page(sg), KM_IRQ0) + sg->offset;
                        memcpy(buf, tw_dev->generic_buffer_virt[request_id], sg->length);
                        kunmap_atomic(buf - sg->offset, KM_IRQ0);
                        local_irq_restore(flags);
@@ -2009,6 +2009,7 @@ static int __devinit twa_probe(struct pci_dev *pdev, const struct pci_device_id
        }
 
        pci_set_master(pdev);
+       pci_try_set_mwi(pdev);
 
        if (pci_set_dma_mask(pdev, DMA_64BIT_MASK)
            || pci_set_consistent_dma_mask(pdev, DMA_64BIT_MASK))