diff options
author | Sergei Shtylyov <sshtylyov@ru.mvista.com> | 2008-04-18 23:30:45 +0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@HansenPartnership.com> | 2008-04-24 09:09:49 -0500 |
commit | 448504130f18bc9d8d10ba045775c906abd01438 (patch) | |
tree | 1c8ca2c200f9c1706eb3494cb7d8e09acff716fa /drivers/scsi/aic7xxx/aic7xxx_osm.h | |
parent | be0d67680d524981dd65c661efe3c9cbd52a684f (diff) | |
download | linux-3.10-448504130f18bc9d8d10ba045775c906abd01438.tar.gz linux-3.10-448504130f18bc9d8d10ba045775c906abd01438.tar.bz2 linux-3.10-448504130f18bc9d8d10ba045775c906abd01438.zip |
[SCSI] aic7xxx: fix MMIO for PPC 44x platforms
The driver stores the PCI resource address into 'u_long' variable before
calling ioremap_nocache() on it. This warrants kernel oops when the registers
are accessed on PPC 44x platforms which (being 32-bit) have PCI memory space
mapped beyond 4 GB.
The arch/ppc/ kernel has a fixup in ioremap() that helps create an illusion
that the PCI memory resources are mapped below 4 GB, but arch/powerpc/ code
got rid of this trick, having instead CONFIG_RESOURCES_64BIT enabled.
Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers/scsi/aic7xxx/aic7xxx_osm.h')
-rw-r--r-- | drivers/scsi/aic7xxx/aic7xxx_osm.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/scsi/aic7xxx/aic7xxx_osm.h b/drivers/scsi/aic7xxx/aic7xxx_osm.h index 9d6e0660ddb..c2a9ad76d35 100644 --- a/drivers/scsi/aic7xxx/aic7xxx_osm.h +++ b/drivers/scsi/aic7xxx/aic7xxx_osm.h @@ -365,7 +365,7 @@ struct ahc_platform_data { #define AHC_LINUX_NOIRQ ((uint32_t)~0) uint32_t irq; /* IRQ for this adapter */ uint32_t bios_address; - uint32_t mem_busaddr; /* Mem Base Addr */ + resource_size_t mem_busaddr; /* Mem Base Addr */ }; /************************** OS Utility Wrappers *******************************/ |