diff options
author | Sergei Shtylyov <sshtylyov@ru.mvista.com> | 2008-04-18 23:39:03 +0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@HansenPartnership.com> | 2008-04-24 09:09:52 -0500 |
commit | 8911c9e3343c647b59727b47b10feca7ee9ac9c3 (patch) | |
tree | af0aff3b05bf448e7b8189a44d8f9aa7502b1e16 /drivers/scsi/aic7xxx/aic79xx_osm.h | |
parent | 448504130f18bc9d8d10ba045775c906abd01438 (diff) | |
download | blackbird-op-linux-8911c9e3343c647b59727b47b10feca7ee9ac9c3.tar.gz blackbird-op-linux-8911c9e3343c647b59727b47b10feca7ee9ac9c3.zip |
[SCSI] aic79xx: 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/aic79xx_osm.h')
-rw-r--r-- | drivers/scsi/aic7xxx/aic79xx_osm.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/scsi/aic7xxx/aic79xx_osm.h b/drivers/scsi/aic7xxx/aic79xx_osm.h index b252803e05f6..08dd18229b45 100644 --- a/drivers/scsi/aic7xxx/aic79xx_osm.h +++ b/drivers/scsi/aic7xxx/aic79xx_osm.h @@ -360,7 +360,7 @@ struct ahd_platform_data { #define AHD_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 *******************************/ |