[SCSI] aic79xx: fix MMIO for PPC 44x platforms
authorSergei Shtylyov <sshtylyov@ru.mvista.com>
Fri, 18 Apr 2008 19:39:03 +0000 (23:39 +0400)
committerJames Bottomley <James.Bottomley@HansenPartnership.com>
Thu, 24 Apr 2008 14:09:52 +0000 (09:09 -0500)
commit8911c9e3343c647b59727b47b10feca7ee9ac9c3
treeaf0aff3b05bf448e7b8189a44d8f9aa7502b1e16
parent448504130f18bc9d8d10ba045775c906abd01438
[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>
drivers/scsi/aic7xxx/aic79xx_osm.h
drivers/scsi/aic7xxx/aic79xx_osm_pci.c