aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeff Garzik <jeff@garzik.org>2007-10-02 13:16:10 -0400
committerJeff Garzik <jeff@garzik.org>2007-10-02 13:16:10 -0400
commitd136552e8beadcf5e59089292e2ba44f09e3aad8 (patch)
tree8b9d5e0b7e0ee85303bcbcd59ff3bd4ab467cc10
parent4942de4a0e914f205d351a81873f4f63986bcc3c (diff)
downloadmrst-s0i3-test-d136552e8beadcf5e59089292e2ba44f09e3aad8.tar.gz
mrst-s0i3-test-d136552e8beadcf5e59089292e2ba44f09e3aad8.tar.xz
mrst-s0i3-test-d136552e8beadcf5e59089292e2ba44f09e3aad8.zip
aic94xx: fix DMA data direction for SMP requests
DMA-mapped SMP (scsi management protocol) requests going /to/ the device need the PCI DMA data direction to indicate such. Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
-rw-r--r--drivers/scsi/aic94xx/aic94xx_task.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/scsi/aic94xx/aic94xx_task.c b/drivers/scsi/aic94xx/aic94xx_task.c
index d5d8caba356..ab13824df85 100644
--- a/drivers/scsi/aic94xx/aic94xx_task.c
+++ b/drivers/scsi/aic94xx/aic94xx_task.c
@@ -451,7 +451,7 @@ static int asd_build_smp_ascb(struct asd_ascb *ascb, struct sas_task *task,
struct scb *scb;
pci_map_sg(asd_ha->pcidev, &task->smp_task.smp_req, 1,
- PCI_DMA_FROMDEVICE);
+ PCI_DMA_TODEVICE);
pci_map_sg(asd_ha->pcidev, &task->smp_task.smp_resp, 1,
PCI_DMA_FROMDEVICE);
@@ -486,7 +486,7 @@ static void asd_unbuild_smp_ascb(struct asd_ascb *a)
BUG_ON(!task);
pci_unmap_sg(a->ha->pcidev, &task->smp_task.smp_req, 1,
- PCI_DMA_FROMDEVICE);
+ PCI_DMA_TODEVICE);
pci_unmap_sg(a->ha->pcidev, &task->smp_task.smp_resp, 1,
PCI_DMA_FROMDEVICE);
}