[SCSI] dpt_i2o: driver is only 32 bit so don't set 64 bit DMA mask
authorJames Bottomley <James.Bottomley@HansenPartnership.com>
Wed, 12 Dec 2007 20:06:21 +0000 (15:06 -0500)
committerJames Bottomley <James.Bottomley@HansenPartnership.com>
Tue, 18 Dec 2007 22:04:08 +0000 (16:04 -0600)
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>
drivers/scsi/dpt_i2o.c

index 70f48a1..b31d1c9 100644 (file)
@@ -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);