[PATCH] ARM: OMAP: mcbsp: Fix possible memory corruption
Igor Grinberg
grinberg at compulab.co.il
Mon Dec 12 05:23:53 EST 2011
On 12/12/11 10:38, Jarkko Nikula wrote:
> Commits 09d28d ("ARM: OMAP: mcbsp: Start generalize omap2_mcbsp_set_clks_src")
> and 7bc0c4 ("ARM: OMAP: mcbsp: Start generalize signal muxing functions")
> incorrectly set two struct omap_mcbsp_platform_data fields after
> omap_device_build_ss and kfree calls.
>
> Fix this by moving these pdata assignments before those calls.
>
> Signed-off-by: Jarkko Nikula <jarkko.nikula at bitmer.com>
> Reported-by: neilb at suse.de
Perhaps, should be:
Reported-by: NeilBrown <neilb at suse.de>
and
Cc: <stable at vger.kernel.org> [3.1]
as for below.
> ---
> For 3.2, 3.1 is ok.
> ---
> arch/arm/mach-omap2/mcbsp.c | 6 +++---
> 1 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/mcbsp.c b/arch/arm/mach-omap2/mcbsp.c
> index 292eee3..28fcb27 100644
> --- a/arch/arm/mach-omap2/mcbsp.c
> +++ b/arch/arm/mach-omap2/mcbsp.c
> @@ -145,6 +145,9 @@ static int omap_init_mcbsp(struct omap_hwmod *oh, void *unused)
> pdata->reg_size = 4;
> pdata->has_ccr = true;
> }
> + pdata->set_clk_src = omap2_mcbsp_set_clk_src;
> + if (id == 1)
> + pdata->mux_signal = omap2_mcbsp1_mux_rx_clk;
>
> if (oh->class->rev == MCBSP_CONFIG_TYPE3) {
> if (id == 2)
> @@ -174,9 +177,6 @@ static int omap_init_mcbsp(struct omap_hwmod *oh, void *unused)
> name, oh->name);
> return PTR_ERR(pdev);
> }
> - pdata->set_clk_src = omap2_mcbsp_set_clk_src;
> - if (id == 1)
> - pdata->mux_signal = omap2_mcbsp1_mux_rx_clk;
> omap_mcbsp_count++;
> return 0;
> }
--
Regards,
Igor.
More information about the linux-arm-kernel
mailing list