diff options
author | Kai Makisara <Kai.Makisara@kolumbus.fi> | 2007-10-05 15:54:58 -0400 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.localdomain> | 2007-10-23 15:07:45 -0400 |
commit | 34996acc5571e64be7f3dba3adced1f7221a8d07 (patch) | |
tree | 10e8394e0d356c40e5c5b2694a14985a13878c4d /drivers/scsi | |
parent | 20d2d3afa87781fe2674ce17bfb16af08a436e81 (diff) |
[SCSI] sym53c8xx: Work around 53c896 erratum
Prevent DMA transfers from crossing the 16MB limit for early 53c896 chips.
Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi')
-rw-r--r-- | 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 db03c4c8ec1e..44169390c467 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, | |||
1531 | BUG_ON(sym2_transport_template == NULL); | 1531 | BUG_ON(sym2_transport_template == NULL); |
1532 | instance->transportt = sym2_transport_template; | 1532 | instance->transportt = sym2_transport_template; |
1533 | 1533 | ||
1534 | /* 53c896 rev 1 errata: DMA may not cross 16MB boundary */ | ||
1535 | if (pdev->device == PCI_DEVICE_ID_NCR_53C896 && np->revision_id < 2) | ||
1536 | instance->dma_boundary = 0xFFFFFF; | ||
1537 | |||
1534 | spin_unlock_irqrestore(instance->host_lock, flags); | 1538 | spin_unlock_irqrestore(instance->host_lock, flags); |
1535 | 1539 | ||
1536 | return instance; | 1540 | return instance; |