Prevent DMA transfers from crossing the 16MB limit for early 53c896 chips.

From: Kai Makisara <[EMAIL PROTECTED]>
Signed-off-by: Matthew Wilcox <[EMAIL PROTECTED]>
---
 drivers/scsi/sym53c8xx_2/sym_glue.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/drivers/scsi/sym53c8xx_2/sym_glue.c 
b/drivers/scsi/sym53c8xx_2/sym_glue.c
index 3db2232..d5455e3 100644
--- a/drivers/scsi/sym53c8xx_2/sym_glue.c
+++ b/drivers/scsi/sym53c8xx_2/sym_glue.c
@@ -1531,6 +1531,10 @@ static struct Scsi_Host * __devinit sym_attach(struct 
scsi_host_template *tpnt,
        BUG_ON(sym2_transport_template == NULL);
        instance->transportt    = sym2_transport_template;
 
+       /* 53c896 rev 1 errata: DMA may not cross 16MB boundary */
+       if (pdev->device == PCI_DEVICE_ID_NCR_53C896 && np->revision_id < 2)
+               instance->dma_boundary = 0xFFFFFF;
+
        spin_unlock_irqrestore(instance->host_lock, flags);
 
        return instance;
-- 
1.4.4.2

-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to