summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Bottomley <James.Bottomley@HansenPartnership.com>2007-12-12 21:06:21 +0100
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2007-12-18 23:04:08 +0100
commitc80ddf00cde4c21018dbd0ea2872736c90c7dda2 (patch)
tree9014d20c2d7f98b22b882cecbb247a67ec5018ad
parent[SCSI] sym53c8xx: fix free_irq() regression (diff)
downloadlinux-c80ddf00cde4c21018dbd0ea2872736c90c7dda2.tar.xz
linux-c80ddf00cde4c21018dbd0ea2872736c90c7dda2.zip
[SCSI] dpt_i2o: driver is only 32 bit so don't set 64 bit DMA mask
This fixes a potential corruption bug where the truncation would cause reading or writing to the wrong memory area on machines with >4GB of main memory. Cc: Stable Kernel Tree <stable@kernel.org> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
-rw-r--r--drivers/scsi/dpt_i2o.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/scsi/dpt_i2o.c b/drivers/scsi/dpt_i2o.c
index 70f48a1a6d58..b31d1c95c9fb 100644
--- a/drivers/scsi/dpt_i2o.c
+++ b/drivers/scsi/dpt_i2o.c
@@ -906,8 +906,7 @@ static int adpt_install_hba(struct scsi_host_template* sht, struct pci_dev* pDev
}
pci_set_master(pDev);
- if (pci_set_dma_mask(pDev, DMA_64BIT_MASK) &&
- pci_set_dma_mask(pDev, DMA_32BIT_MASK))
+ if (pci_set_dma_mask(pDev, DMA_32BIT_MASK))
return -EINVAL;
base_addr0_phys = pci_resource_start(pDev,0);