linux-uconsole/arch/arm
David R. Piegdon 170924f3db ARM: OMAP2+: Fix parser-bug in platform muxing code
commit c021f241f4 upstream.

Fix a parser-bug in the omap2 muxing code where muxtable-entries will be
wrongly selected if the requested muxname is a *prefix* of their
m0-entry and they have a matching mN-entry. Fix by additionally checking
that the length of the m0_entry is equal.

For example muxing of "dss_data2.dss_data2" on omap32xx will fail
because the prefix "dss_data2" will match the mux-entries "dss_data2" as
well as "dss_data20", with the suffix "dss_data2" matching m0 (for
dss_data2) and m4 (for dss_data20). Thus both are recognized as signal
path candidates:

Relevant muxentries from mux34xx.c:
        _OMAP3_MUXENTRY(DSS_DATA20, 90,
                "dss_data20", NULL, "mcspi3_somi", "dss_data2",
                "gpio_90", NULL, NULL, "safe_mode"),
        _OMAP3_MUXENTRY(DSS_DATA2, 72,
                "dss_data2", NULL, NULL, NULL,
                "gpio_72", NULL, NULL, "safe_mode"),

This will result in a failure to mux the pin at all:

 _omap_mux_get_by_name: Multiple signal paths (2) for dss_data2.dss_data2

Patch should apply to linus' latest master down to rather old linux-2.6
trees.

Signed-off-by: David R. Piegdon <lkml@p23q.org>
Cc: stable@vger.kernel.org
[tony@atomide.com: updated description to include full description]
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-07-09 11:14:01 -07:00
..
boot ARM: mvebu: fix NOR bus-width in Armada XP OpenBlocks AX3 Device Tree 2014-06-16 13:42:52 -07:00
common Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-arm 2013-05-15 13:37:54 -07:00
configs ARM: multi_v7_defconfig: enable ARM_ATAG_DTB_COMPAT 2014-05-30 21:52:12 -07:00
crypto ARM: 7837/3: fix Thumb-2 bug in AES assembler code 2013-10-05 07:13:10 -07:00
include ARM: 8051/1: put_user: fix possible data corruption in put_user 2014-06-11 12:03:23 -07:00
kernel ARM: stacktrace: avoid listing stacktrace functions in stacktrace 2014-06-30 20:09:44 -07:00
kvm ARM: KVM: arch_timers: zero CNTVOFF upon return to host 2014-01-09 12:24:26 -08:00
lib
mach-at91 ARM: at91: fix at91_sysirq_mask_rtc for sam9x5 SoCs 2014-06-26 15:12:39 -04:00
mach-bcm ARM: platform specific firmware interfaces for 3.10 2013-05-04 12:33:36 -07:00
mach-bcm2835
mach-clps711x
mach-cns3xxx ARM: arm-soc multiplatform updates for 3.10 2013-05-02 09:38:16 -07:00
mach-davinci ARM: davinci: nand: specify ecc strength 2013-08-29 09:47:36 -07:00
mach-dove arm: mach-dove: convert to use mvebu-mbus driver 2013-04-15 14:06:27 +00:00
mach-ebsa110 ARM: 7728/1: mm: Use phys_addr_t properly for ioremap functions 2014-05-06 07:55:27 -07:00
mach-ep93xx
mach-exynos ARM: exynos: add debug_ll_io_init() call in exynos_init_io() 2013-06-07 18:12:00 -07:00
mach-footbridge ARM: fix footbridge clockevent device 2014-01-15 15:28:50 -08:00
mach-gemini ARM: arm-soc cleanup for 3.10 2013-05-02 09:03:55 -07:00
mach-highbank ARM: highbank: avoid L2 cache smc calls when PL310 is not present 2014-03-31 09:58:13 -07:00
mach-imx ARM: imx: fix error handling in ipu device registration 2014-06-11 12:03:23 -07:00
mach-integrator ARM: integrator_cp: Set LCD{0,1} enable lines when turning on CLCD 2013-12-04 10:55:46 -08:00
mach-iop13xx ARM: 7728/1: mm: Use phys_addr_t properly for ioremap functions 2014-05-06 07:55:27 -07:00
mach-iop32x
mach-iop33x
mach-ixp4xx ARM: 7728/1: mm: Use phys_addr_t properly for ioremap functions 2014-05-06 07:55:27 -07:00
mach-kirkwood ARM: Kirkwood: handle mv88f6282 cpu in __kirkwood_variant(). 2013-06-06 18:16:04 +00:00
mach-ks8695
mach-lpc32xx
mach-mmp ARM: arm-soc board specific changes for 3.10, part 1 2013-05-04 12:34:30 -07:00
mach-msm ARM: 7728/1: mm: Use phys_addr_t properly for ioremap functions 2014-05-06 07:55:27 -07:00
mach-mv78xx0 arm: mach-mv78xx0: convert to use the mvebu-mbus driver 2013-04-15 14:06:39 +00:00
mach-mvebu ARM: mvebu: Fix bug in coherency fabric low level init function 2013-05-28 14:50:08 +00:00
mach-mxs ARM: mxs: stub out mxs_pm_init for !CONFIG_PM 2013-10-05 07:13:12 -07:00
mach-netx
mach-nomadik clocksource: nomadik-mtu: fix up clocksource/timer 2013-04-26 17:10:46 -07:00
mach-omap1 ARM: OMAP: replace checks for CONFIG_USB_GADGET_OMAP 2014-06-30 20:09:41 -07:00
mach-omap2 ARM: OMAP2+: Fix parser-bug in platform muxing code 2014-07-09 11:14:01 -07:00
mach-orion5x ARM: Orion: Remove redundant init_dma_coherent_pool_size() 2013-05-13 19:32:14 +00:00
mach-picoxcell
mach-prima2 ARM: prima2: fix incorrect panic usage 2013-06-11 00:11:31 -07:00
mach-pxa ARM: pxa: prevent PXA270 occasional reboot freezes 2013-12-20 07:45:07 -08:00
mach-realview Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2013-05-03 09:13:19 -07:00
mach-rpc
mach-s3c24xx ARM: S3C24XX: Add missing clkdev entries for s3c2440 UART 2013-07-28 16:30:16 -07:00
mach-s3c64xx For 3.10 we have a few new MFD drivers for: 2013-05-05 17:36:20 -07:00
mach-s5p64x0 Merge branch 'samsung/exynos-multiplatform' into next/drivers 2013-04-19 16:50:56 +02:00
mach-s5pc100 ARM: arm-soc driver changes for 3.10 2013-05-04 12:31:18 -07:00
mach-s5pv210 ARM: arm-soc driver changes for 3.10 2013-05-04 12:31:18 -07:00
mach-sa1100 ARM: 7991/1: sa1100: fix compile problem on Collie 2014-03-23 21:38:14 -07:00
mach-shark
mach-shmobile ARM: shmobile: mackerel: Fix coherent DMA mask 2014-01-15 15:28:51 -08:00
mach-socfpga Merge branch 'gic/cleanup' into next/soc 2013-04-28 15:06:56 -07:00
mach-spear Merge branch 'late/fixes' into fixes 2013-05-09 13:05:15 -07:00
mach-sunxi ARM: sunxi: select ARCH_REQUIRE_GPIOLIB 2013-05-15 09:42:47 +02:00
mach-tegra ARM: tegra: only run PL310 init on systems with one 2014-03-06 21:30:12 -08:00
mach-u300 ARM: u300: fix ages old copy/paste bug 2013-04-26 17:07:38 -07:00
mach-ux500 ARM: ux500: Provide supplies for AUX1, AUX2 and AUX3 2013-05-27 14:08:20 +02:00
mach-versatile ARM: PCI: versatile: Fix SMAP register offsets 2013-09-26 17:18:03 -07:00
mach-vexpress Moves xenvm to mach-virt. 2013-05-07 15:11:43 -07:00
mach-virt Moves xenvm to mach-virt. 2013-05-07 15:11:43 -07:00
mach-vt8500 ARM: vt8500: Add missing NULL terminator in dt_compat 2013-05-20 23:30:54 -07:00
mach-w90x900
mach-zynq ARM: arm-soc platform updates for 3.10, part 3 2013-05-07 11:02:18 -07:00
mm ARM: 8037/1: mm: support big-endian page tables 2014-06-30 20:09:44 -07:00
net bpf: do not use reciprocal divide 2014-02-06 11:08:16 -08:00
nwfpe
oprofile
plat-iop
plat-omap ARM: arm-soc device tree changes, part 2 2013-05-07 11:06:17 -07:00
plat-orion ARM: plat-orion: Fix num_resources and id for ge10 and ge11 2013-05-20 17:39:07 +00:00
plat-pxa
plat-samsung ARM: S3C24XX: Add missing clkdev entries for s3c2440 UART 2013-07-28 16:30:16 -07:00
plat-versatile
tools
vfp ARM: 7729/1: vfp: ensure VFP_arch is non-zero when VFP is not supported 2013-05-22 22:01:37 +01:00
xen ARM: xen: only set pm function ptrs for Xen guests 2013-09-26 17:18:02 -07:00
Kconfig ARM: 7791/1: a.out: remove partial a.out support 2013-08-11 18:35:20 -07:00
Kconfig-nommu
Kconfig.debug ARM: arm-soc platform updates for 3.10, part 3 2013-05-07 11:02:18 -07:00
Makefile ARM: 7712/1: Remove trailing whitespace in arch/arm/Makefile 2013-05-07 10:34:46 +01:00