All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Lezcano <daniel.lezcano-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
To: Yingjoe Chen
	<yingjoe.chen-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>,
	Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>,
	Matthias Brugger
	<matthias.bgg-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	Thomas Gleixner <tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>,
	Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>,
	Olof Johansson <olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org>
Cc: Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	Pawel Moll <pawel.moll-5wv7dgnIgG8@public.gmane.org>,
	Ian Campbell
	<ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org>,
	Russell King <linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org>,
	Jason Cooper <jason-NLaQJdtUoK4Be96aLqz0jA@public.gmane.org>,
	Catalin Marinas <catalin.marinas-5wv7dgnIgG8@public.gmane.org>,
	Marc Carino <marc.ceeeee-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	Lorenzo Pieralisi
	<lorenzo.pieralisi-5wv7dgnIgG8@public.gmane.org>,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	linux-mediatek-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	srv_heupstream-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org,
	Sascha Hauer <kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
Subject: Re: [PATCH 1/7] clocksource: mediatek: Don't run event_handler if it is NULL
Date: Mon, 04 May 2015 10:14:56 +0200	[thread overview]
Message-ID: <55472A80.9020904@linaro.org> (raw)
In-Reply-To: <1430466210-22963-2-git-send-email-yingjoe.chen-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>

On 05/01/2015 09:43 AM, Yingjoe Chen wrote:
> Spurious timer interrupt is noticed in mtk timer and cause kernel
> crash. In mtk_timer_interrupt(), only run event_handler if it is
> not NULL.
>
> Signed-off-by: Yingjoe Chen <yingjoe.chen-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>
> ---
>   drivers/clocksource/mtk_timer.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/clocksource/mtk_timer.c b/drivers/clocksource/mtk_timer.c
> index 68ab423..85e0ab5 100644
> --- a/drivers/clocksource/mtk_timer.c
> +++ b/drivers/clocksource/mtk_timer.c
> @@ -143,7 +143,8 @@ static irqreturn_t mtk_timer_interrupt(int irq, void *dev_id)
>
>   	/* Acknowledge timer0 irq */
>   	writel(GPT_IRQ_ACK(GPT_CLK_EVT), evt->gpt_base + GPT_IRQ_ACK_REG);
> -	evt->dev.event_handler(&evt->dev);
> +	if (evt->dev.event_handler)
> +		evt->dev.event_handler(&evt->dev);
>
>   	return IRQ_HANDLED;
>   }
>

This fix does not look good.

Could you try by requesting the irq *after* 
clockevents_config_and_register in the init sequence [1] ?

Thanks
   -- Daniel

[1] 
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=1096be084ac59927158ce80ff1d31c33eed0e565

-- 
  <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs

Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

WARNING: multiple messages have this Message-ID (diff)
From: daniel.lezcano@linaro.org (Daniel Lezcano)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/7] clocksource: mediatek: Don't run event_handler if it is NULL
Date: Mon, 04 May 2015 10:14:56 +0200	[thread overview]
Message-ID: <55472A80.9020904@linaro.org> (raw)
In-Reply-To: <1430466210-22963-2-git-send-email-yingjoe.chen@mediatek.com>

On 05/01/2015 09:43 AM, Yingjoe Chen wrote:
> Spurious timer interrupt is noticed in mtk timer and cause kernel
> crash. In mtk_timer_interrupt(), only run event_handler if it is
> not NULL.
>
> Signed-off-by: Yingjoe Chen <yingjoe.chen@mediatek.com>
> ---
>   drivers/clocksource/mtk_timer.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/clocksource/mtk_timer.c b/drivers/clocksource/mtk_timer.c
> index 68ab423..85e0ab5 100644
> --- a/drivers/clocksource/mtk_timer.c
> +++ b/drivers/clocksource/mtk_timer.c
> @@ -143,7 +143,8 @@ static irqreturn_t mtk_timer_interrupt(int irq, void *dev_id)
>
>   	/* Acknowledge timer0 irq */
>   	writel(GPT_IRQ_ACK(GPT_CLK_EVT), evt->gpt_base + GPT_IRQ_ACK_REG);
> -	evt->dev.event_handler(&evt->dev);
> +	if (evt->dev.event_handler)
> +		evt->dev.event_handler(&evt->dev);
>
>   	return IRQ_HANDLED;
>   }
>

This fix does not look good.

Could you try by requesting the irq *after* 
clockevents_config_and_register in the init sequence [1] ?

Thanks
   -- Daniel

[1] 
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=1096be084ac59927158ce80ff1d31c33eed0e565

-- 
  <http://www.linaro.org/> Linaro.org ? Open source software for ARM SoCs

Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog

WARNING: multiple messages have this Message-ID (diff)
From: Daniel Lezcano <daniel.lezcano@linaro.org>
To: Yingjoe Chen <yingjoe.chen@mediatek.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Arnd Bergmann <arnd@arndb.de>, Olof Johansson <olof@lixom.net>
Cc: Rob Herring <robh+dt@kernel.org>, Pawel Moll <pawel.moll@arm.com>,
	Ian Campbell <ijc+devicetree@hellion.org.uk>,
	Russell King <linux@arm.linux.org.uk>,
	Jason Cooper <jason@lakedaemon.net>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Marc Carino <marc.ceeeee@gmail.com>,
	Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-mediatek@lists.infradead.org, srv_heupstream@mediatek.com,
	Sascha Hauer <kernel@pengutronix.de>
Subject: Re: [PATCH 1/7] clocksource: mediatek: Don't run event_handler if it is NULL
Date: Mon, 04 May 2015 10:14:56 +0200	[thread overview]
Message-ID: <55472A80.9020904@linaro.org> (raw)
In-Reply-To: <1430466210-22963-2-git-send-email-yingjoe.chen@mediatek.com>

On 05/01/2015 09:43 AM, Yingjoe Chen wrote:
> Spurious timer interrupt is noticed in mtk timer and cause kernel
> crash. In mtk_timer_interrupt(), only run event_handler if it is
> not NULL.
>
> Signed-off-by: Yingjoe Chen <yingjoe.chen@mediatek.com>
> ---
>   drivers/clocksource/mtk_timer.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/clocksource/mtk_timer.c b/drivers/clocksource/mtk_timer.c
> index 68ab423..85e0ab5 100644
> --- a/drivers/clocksource/mtk_timer.c
> +++ b/drivers/clocksource/mtk_timer.c
> @@ -143,7 +143,8 @@ static irqreturn_t mtk_timer_interrupt(int irq, void *dev_id)
>
>   	/* Acknowledge timer0 irq */
>   	writel(GPT_IRQ_ACK(GPT_CLK_EVT), evt->gpt_base + GPT_IRQ_ACK_REG);
> -	evt->dev.event_handler(&evt->dev);
> +	if (evt->dev.event_handler)
> +		evt->dev.event_handler(&evt->dev);
>
>   	return IRQ_HANDLED;
>   }
>

This fix does not look good.

Could you try by requesting the irq *after* 
clockevents_config_and_register in the init sequence [1] ?

Thanks
   -- Daniel

[1] 
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=1096be084ac59927158ce80ff1d31c33eed0e565

-- 
  <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs

Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog


  parent reply	other threads:[~2015-05-04  8:14 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-01  7:43 [PATCH 0/7] Add SMP bringup support for mt65xx socs Yingjoe Chen
2015-05-01  7:43 ` Yingjoe Chen
2015-05-01  7:43 ` Yingjoe Chen
2015-05-01  7:43 ` [PATCH 1/7] clocksource: mediatek: Don't run event_handler if it is NULL Yingjoe Chen
2015-05-01  7:43   ` Yingjoe Chen
2015-05-01  7:43   ` Yingjoe Chen
     [not found]   ` <1430466210-22963-2-git-send-email-yingjoe.chen-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>
2015-05-04  8:14     ` Daniel Lezcano [this message]
2015-05-04  8:14       ` Daniel Lezcano
2015-05-04  8:14       ` Daniel Lezcano
     [not found]       ` <55472A80.9020904-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-05-04  8:34         ` Matthias Brugger
2015-05-04  8:34           ` Matthias Brugger
2015-05-04  8:34           ` Matthias Brugger
     [not found]           ` <CABuKBeKBcg+zCDSx8PNCsRC3A8Lo9ripw5ZYCC0c+GjJN8dp6Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-05-04  8:44             ` Daniel Lezcano
2015-05-04  8:44               ` Daniel Lezcano
2015-05-04  8:44               ` Daniel Lezcano
     [not found]               ` <55473162.5010608-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-05-04 15:13                 ` Yingjoe Chen
2015-05-04 15:13                   ` Yingjoe Chen
2015-05-04 15:13                   ` Yingjoe Chen
     [not found] ` <1430466210-22963-1-git-send-email-yingjoe.chen-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>
2015-05-01  7:43   ` [PATCH 2/7] clocksource: mediatek: Use GPT as sched clock source Yingjoe Chen
2015-05-01  7:43     ` Yingjoe Chen
2015-05-01  7:43     ` Yingjoe Chen
2015-05-01  7:43   ` [PATCH 6/7] ARM: dts: mt8135: enable basic SMP bringup for mt8135 Yingjoe Chen
2015-05-01  7:43     ` Yingjoe Chen
2015-05-01  7:43     ` Yingjoe Chen
     [not found]     ` <1430466210-22963-7-git-send-email-yingjoe.chen-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>
2015-05-04  7:08       ` Matthias Brugger
2015-05-04  7:08         ` Matthias Brugger
2015-05-04  7:08         ` Matthias Brugger
2015-05-04 14:31     ` Sascha Hauer
2015-05-04 14:31       ` Sascha Hauer
     [not found]       ` <20150504143105.GK4946-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2015-05-05  5:37         ` Yingjoe Chen
2015-05-05  5:37           ` Yingjoe Chen
2015-05-05  5:37           ` Yingjoe Chen
2015-05-01  7:43   ` [PATCH 7/7] ARM: dts: mt8127: enable basic SMP bringup for mt8127 Yingjoe Chen
2015-05-01  7:43     ` Yingjoe Chen
2015-05-01  7:43     ` Yingjoe Chen
2015-05-04  7:48   ` [PATCH 0/7] Add SMP bringup support for mt65xx socs Matthias Brugger
2015-05-04  7:48     ` Matthias Brugger
2015-05-04  7:48     ` Matthias Brugger
     [not found]     ` <CABuKBeJ406DUFoVs2p3-u6sW58Dm7XDd6uxCc==Mkq3dMhhd5Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-05-06  7:19       ` Yingjoe Chen
2015-05-06  7:19         ` Yingjoe Chen
2015-05-06  7:19         ` Yingjoe Chen
2015-05-06  7:59         ` Yingjoe Chen
2015-05-06  7:59           ` Yingjoe Chen
2015-05-06  7:59           ` Yingjoe Chen
2015-05-06  8:29           ` Matthias Brugger
2015-05-06  8:29             ` Matthias Brugger
     [not found]             ` <CABuKBeLT8-sjPY6ZQXacMZZ_3iKX-g82AB0gPhsi7VW=WdjTTw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-05-06 11:04               ` Matthias Brugger
2015-05-06 11:04                 ` Matthias Brugger
2015-05-06 11:04                 ` Matthias Brugger
     [not found]                 ` <CABuKBeKLtgs56PDO3tEftWNv58-RwtDR2cyxzs4FLX1AFZSKbg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-05-16  8:09                   ` Yingjoe Chen
2015-05-16  8:09                     ` Yingjoe Chen
2015-05-16  8:09                     ` Yingjoe Chen
2015-05-16  9:11                     ` Matthias Brugger
2015-05-16  9:11                       ` Matthias Brugger
2015-05-01  7:43 ` [PATCH 3/7] arm: mediatek: enable gpt6 on boot up to make arch timer working Yingjoe Chen
2015-05-01  7:43   ` Yingjoe Chen
2015-05-01  7:43   ` Yingjoe Chen
2015-05-01  7:43 ` [PATCH 4/7] devicetree: bindings: add new SMP enable method Mediatek SoC Yingjoe Chen
2015-05-01  7:43   ` Yingjoe Chen
2015-05-01  7:43   ` Yingjoe Chen
2015-05-01  7:43 ` [PATCH 5/7] ARM: mediatek: add smp bringup code Yingjoe Chen
2015-05-01  7:43   ` Yingjoe Chen
2015-05-01  7:43   ` Yingjoe Chen
     [not found]   ` <1430466210-22963-6-git-send-email-yingjoe.chen-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>
2015-05-06  8:38     ` Matthias Brugger
2015-05-06  8:38       ` Matthias Brugger
2015-05-06  8:38       ` Matthias Brugger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=55472A80.9020904@linaro.org \
    --to=daniel.lezcano-qsej5fyqhm4dnm+yrofe0a@public.gmane.org \
    --cc=arnd-r2nGTMty4D4@public.gmane.org \
    --cc=catalin.marinas-5wv7dgnIgG8@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org \
    --cc=jason-NLaQJdtUoK4Be96aLqz0jA@public.gmane.org \
    --cc=kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org \
    --cc=linux-mediatek-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=lorenzo.pieralisi-5wv7dgnIgG8@public.gmane.org \
    --cc=marc.ceeeee-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \
    --cc=matthias.bgg-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org \
    --cc=pawel.moll-5wv7dgnIgG8@public.gmane.org \
    --cc=robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=srv_heupstream-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org \
    --cc=tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org \
    --cc=yingjoe.chen-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.