[SCSI] aic7xxx: fix MMIO for PPC 44x platforms
authorSergei Shtylyov <sshtylyov@ru.mvista.com>
Fri, 18 Apr 2008 19:30:45 +0000 (23:30 +0400)
committerJames Bottomley <James.Bottomley@HansenPartnership.com>
Thu, 24 Apr 2008 14:09:49 +0000 (09:09 -0500)
commit448504130f18bc9d8d10ba045775c906abd01438
tree1c8ca2c200f9c1706eb3494cb7d8e09acff716fa
parentbe0d67680d524981dd65c661efe3c9cbd52a684f
[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>
drivers/scsi/aic7xxx/aic7xxx_osm.h
drivers/scsi/aic7xxx/aic7xxx_osm_pci.c