diff mbox

[v2] clk: ti: fix dual-registration of uart4_ick

Message ID 1443535268-22586-1-git-send-email-ben.dooks@codethink.co.uk (mailing list archive)
State New, archived
Headers show

Commit Message

Ben Dooks Sept. 29, 2015, 2:01 p.m. UTC
On the OMAP AM3517 platform the uart4_ick gets registered
twice, causing any power managment to /dev/ttyO3 to fail
when trying to wake the device up.

This solves the following oops:

[] Unhandled fault: external abort on non-linefetch (0x1028) at 0xfa09e008
[] PC is at serial_omap_pm+0x48/0x15c
[] LR is at _raw_spin_unlock_irqrestore+0x30/0x5c

Cc: stable@vger.kernel.org
Cc: mturquette@baylibre.com
Cc: sboyd@codeaurora.org
Cc: linux-clk@vger.kernel.org
Cc: linux-omap@vger.kernel.org
Cc: t-kristo@ti.com
Cc: linux-kernel@lists.codethink.co.uk
Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
--
v2:
	- fix omap36xx series clock registration for uart4
---
 drivers/clk/ti/clk-3xxx.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Stephen Boyd Oct. 2, 2015, 12:15 a.m. UTC | #1
On 09/29, Ben Dooks wrote:
> On the OMAP AM3517 platform the uart4_ick gets registered
> twice, causing any power managment to /dev/ttyO3 to fail
> when trying to wake the device up.
> 
> This solves the following oops:
> 
> [] Unhandled fault: external abort on non-linefetch (0x1028) at 0xfa09e008
> [] PC is at serial_omap_pm+0x48/0x15c
> [] LR is at _raw_spin_unlock_irqrestore+0x30/0x5c
> 
> Cc: stable@vger.kernel.org
> Cc: mturquette@baylibre.com
> Cc: sboyd@codeaurora.org
> Cc: linux-clk@vger.kernel.org
> Cc: linux-omap@vger.kernel.org
> Cc: t-kristo@ti.com
> Cc: linux-kernel@lists.codethink.co.uk
> Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>

Which patch broke this? Adding a Fixes: line will help us figure
out where to backport this.
Tero Kristo Oct. 2, 2015, 6:07 a.m. UTC | #2
On 10/02/2015 03:15 AM, Stephen Boyd wrote:
> On 09/29, Ben Dooks wrote:
>> On the OMAP AM3517 platform the uart4_ick gets registered
>> twice, causing any power managment to /dev/ttyO3 to fail
>> when trying to wake the device up.
>>
>> This solves the following oops:
>>
>> [] Unhandled fault: external abort on non-linefetch (0x1028) at 0xfa09e008
>> [] PC is at serial_omap_pm+0x48/0x15c
>> [] LR is at _raw_spin_unlock_irqrestore+0x30/0x5c
>>
>> Cc: stable@vger.kernel.org
>> Cc: mturquette@baylibre.com
>> Cc: sboyd@codeaurora.org
>> Cc: linux-clk@vger.kernel.org
>> Cc: linux-omap@vger.kernel.org
>> Cc: t-kristo@ti.com
>> Cc: linux-kernel@lists.codethink.co.uk
>> Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
>
> Which patch broke this? Adding a Fixes: line will help us figure
> out where to backport this.
>

The issue has been around since the legacy clock data code already, I am 
not quite sure which initially broke it though. As such, we can use the 
initial clock conversion commit as a fixes by for this:

commit aafd900cab87d339dc3004c241eebc854005124b
Author: Tero Kristo <t-kristo@ti.com>
Date:   Fri Aug 2 14:04:19 2013 +0300

     CLK: TI: add omap3 clock init file

I'll add a fixes tag to this and queue it for 4.3-rc-fixes.

-Tero
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Ben Dooks Oct. 2, 2015, 5:31 p.m. UTC | #3
On 02/10/15 07:07, Tero Kristo wrote:
> On 10/02/2015 03:15 AM, Stephen Boyd wrote:
>> On 09/29, Ben Dooks wrote:
>>> On the OMAP AM3517 platform the uart4_ick gets registered
>>> twice, causing any power managment to /dev/ttyO3 to fail
>>> when trying to wake the device up.
>>>
>>> This solves the following oops:
>>>
>>> [] Unhandled fault: external abort on non-linefetch (0x1028) at
>>> 0xfa09e008
>>> [] PC is at serial_omap_pm+0x48/0x15c
>>> [] LR is at _raw_spin_unlock_irqrestore+0x30/0x5c
>>>
>>> Cc: stable@vger.kernel.org
>>> Cc: mturquette@baylibre.com
>>> Cc: sboyd@codeaurora.org
>>> Cc: linux-clk@vger.kernel.org
>>> Cc: linux-omap@vger.kernel.org
>>> Cc: t-kristo@ti.com
>>> Cc: linux-kernel@lists.codethink.co.uk
>>> Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
>>
>> Which patch broke this? Adding a Fixes: line will help us figure
>> out where to backport this.
>>
> 
> The issue has been around since the legacy clock data code already, I am
> not quite sure which initially broke it though. As such, we can use the

Thanks, i've been off ill for the last two days so catching up on this.
diff mbox

Patch

diff --git a/drivers/clk/ti/clk-3xxx.c b/drivers/clk/ti/clk-3xxx.c
index 5e12f32..8d94b97 100644
--- a/drivers/clk/ti/clk-3xxx.c
+++ b/drivers/clk/ti/clk-3xxx.c
@@ -374,7 +374,6 @@  static struct ti_dt_clk omap3xxx_clks[] = {
 	DT_CLK(NULL, "gpio2_ick", "gpio2_ick"),
 	DT_CLK(NULL, "wdt3_ick", "wdt3_ick"),
 	DT_CLK(NULL, "uart3_ick", "uart3_ick"),
-	DT_CLK(NULL, "uart4_ick", "uart4_ick"),
 	DT_CLK(NULL, "gpt9_ick", "gpt9_ick"),
 	DT_CLK(NULL, "gpt8_ick", "gpt8_ick"),
 	DT_CLK(NULL, "gpt7_ick", "gpt7_ick"),
@@ -523,6 +522,7 @@  static struct ti_dt_clk am35xx_clks[] = {
 static struct ti_dt_clk omap36xx_clks[] = {
 	DT_CLK(NULL, "omap_192m_alwon_fck", "omap_192m_alwon_fck"),
 	DT_CLK(NULL, "uart4_fck", "uart4_fck"),
+	DT_CLK(NULL, "uart4_ick", "uart4_ick"),
 	{ .node_name = NULL },
 };