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:
|
||
---|---|---|
.. | ||
mach-ap325rxa | ||
mach-cayman | ||
mach-dreamcast | ||
mach-ecovec24 | ||
mach-highlander | ||
mach-hp6xx | ||
mach-kfr2r09 | ||
mach-landisk | ||
mach-lboxre2 | ||
mach-microdev | ||
mach-migor | ||
mach-r2d | ||
mach-rsk | ||
mach-sdk7780 | ||
mach-sdk7786 | ||
mach-se | ||
mach-sh03 | ||
mach-sh7763rdp | ||
mach-x3proto | ||
board-apsh4a3a.c | ||
board-apsh4ad0a.c | ||
board-edosk7705.c | ||
board-edosk7760.c | ||
board-espt.c | ||
board-magicpanelr2.c | ||
board-polaris.c | ||
board-secureedge5410.c | ||
board-sh2007.c | ||
board-sh7757lcr.c | ||
board-sh7785lcr.c | ||
board-shmin.c | ||
board-titan.c | ||
board-urquell.c | ||
Kconfig | ||
Makefile | ||
of-generic.c |