From f514beab2fb9f5422f4208d506b5630f003b04ab Mon Sep 17 00:00:00 2001 From: Peter Ujfalusi Date: Mon, 5 Mar 2012 11:32:27 +0200 Subject: [PATCH] --- yaml --- r: 293479 b: refs/heads/master c: e386615c01d37145aa27fd06d1f8de26f1acbb7f h: refs/heads/master i: 293477: 6d6d652820f924d27bd493d72b89ecfd74b6c279 293475: 166a287ee5bf243d13f8af962cb0264b945bb24d 293471: ac85b543272f803ca5ccc6dba6bcb4c8fef39751 v: v3 --- [refs] | 2 +- trunk/sound/soc/omap/mcbsp.c | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 17c96ba946c2..510fca529c85 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 08905d8ab4d4a264c5a700b04b9cbafe4f381037 +refs/heads/master: e386615c01d37145aa27fd06d1f8de26f1acbb7f diff --git a/trunk/sound/soc/omap/mcbsp.c b/trunk/sound/soc/omap/mcbsp.c index d7167932113a..21dbb0532bca 100644 --- a/trunk/sound/soc/omap/mcbsp.c +++ b/trunk/sound/soc/omap/mcbsp.c @@ -548,6 +548,16 @@ void omap_mcbsp_free(struct omap_mcbsp *mcbsp) reg_cache = mcbsp->reg_cache; + /* + * Select CLKS source from internal source unconditionally before + * marking the McBSP port as free. + * If the external clock source via MCBSP_CLKS pin has been selected the + * system will refuse to enter idle if the CLKS pin source is not reset + * back to internal source. + */ + if (!cpu_class_is_omap1()) + omap2_mcbsp_set_clks_src(mcbsp, MCBSP_CLKS_PRCM_SRC); + spin_lock(&mcbsp->lock); if (mcbsp->free) dev_err(mcbsp->dev, "McBSP%d was not reserved\n", mcbsp->id);