aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/aacraid/aachba.c
diff options
context:
space:
mode:
authorSalyzyn, Mark <Mark_Salyzyn@adaptec.com>2008-01-11 14:46:44 -0500
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2008-01-23 12:29:24 -0500
commit3a0086a80ab7c2f1adb0e9b2a6fc82632979cec5 (patch)
tree35006c7f19099637b4bc33295f36a36f21486982 /drivers/scsi/aacraid/aachba.c
parent984621b4379cccbd0330e10622021a3cfe464ad5 (diff)
[SCSI] aacraid: add call to flush_kernel_dcache_page
Some architectures require a call to flush_kernel_dcache_page for processor spoofed DMA operations. Signed-off-by: Mark Salyzyn <aacraid@adaptec.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers/scsi/aacraid/aachba.c')
-rw-r--r--drivers/scsi/aacraid/aachba.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/scsi/aacraid/aachba.c b/drivers/scsi/aacraid/aachba.c
index 3cddcc0901b2..970a8d99107a 100644
--- a/drivers/scsi/aacraid/aachba.c
+++ b/drivers/scsi/aacraid/aachba.c
@@ -31,9 +31,9 @@
31#include <linux/slab.h> 31#include <linux/slab.h>
32#include <linux/completion.h> 32#include <linux/completion.h>
33#include <linux/blkdev.h> 33#include <linux/blkdev.h>
34#include <linux/dma-mapping.h>
35#include <asm/semaphore.h> 34#include <asm/semaphore.h>
36#include <asm/uaccess.h> 35#include <asm/uaccess.h>
36#include <linux/highmem.h> /* For flush_kernel_dcache_page */
37 37
38#include <scsi/scsi.h> 38#include <scsi/scsi.h>
39#include <scsi/scsi_cmnd.h> 39#include <scsi/scsi_cmnd.h>
@@ -366,6 +366,7 @@ static void aac_internal_transfer(struct scsi_cmnd *scsicmd, void *data, unsigne
366 if (buf && transfer_len > 0) 366 if (buf && transfer_len > 0)
367 memcpy(buf + offset, data, transfer_len); 367 memcpy(buf + offset, data, transfer_len);
368 368
369 flush_kernel_dcache_page(kmap_atomic_to_page(buf - sg->offset));
369 kunmap_atomic(buf - sg->offset, KM_IRQ0); 370 kunmap_atomic(buf - sg->offset, KM_IRQ0);
370 371
371} 372}