014ec97717
[ Upstream commit 0c64a0dce51faa9c706fdf1f957d6f19878f4b81 ]
The Landisk setup code maps the CF IDE area using ioremap_prot(), and
passes the resulting virtual addresses to the pata_platform driver,
disguising them as I/O port addresses. Hence the pata_platform driver
translates them again using ioport_map().
As CONFIG_GENERIC_IOMAP=n, and CONFIG_HAS_IOPORT_MAP=y, the
SuperH-specific mapping code in arch/sh/kernel/ioport.c translates
I/O port addresses to virtual addresses by adding sh_io_port_base, which
defaults to -1, thus breaking the assumption of an identity mapping.
Fix this by setting sh_io_port_base to zero.
Fixes:
|
||
---|---|---|
.. | ||
boards | ||
boot | ||
cchips | ||
configs | ||
drivers | ||
include | ||
kernel | ||
lib | ||
lib64 | ||
math-emu | ||
mm | ||
oprofile | ||
tools | ||
Kconfig | ||
Kconfig.cpu | ||
Kconfig.debug | ||
Makefile |