* [PATCH] iommu/rockchip: Free irqs in shutdown handler
2018-08-27 10:56 [PATCH] iommu/rockchip: Free irqs in shutdown handler Heiko Stuebner
@ 2018-08-27 10:59 ` Enric Balletbo Serra
2018-09-11 10:57 ` Marc Zyngier
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Enric Balletbo Serra @ 2018-08-27 10:59 UTC (permalink / raw)
To: linux-arm-kernel
Heiko,
Thanks for the patch
Missatge de Heiko Stuebner <heiko@sntech.de> del dia dl., 27 d?ag.
2018 a les 12:57:
>
> In the iommu's shutdown handler we disable runtime-pm which could
> result in the irq-handler running unclocked and since commit
> 3fc7c5c0cff3 ("iommu/rockchip: Handle errors returned from PM framework")
> we warn about that fact.
>
> This can cause warnings on shutdown on some Rockchip machines, so
> free the irqs in the shutdown handler before we disable runtime-pm.
>
> Reported-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
> Fixes: 3fc7c5c0cff3 ("iommu/rockchip: Handle errors returned from PM framework")
> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
> ---
> drivers/iommu/rockchip-iommu.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/drivers/iommu/rockchip-iommu.c b/drivers/iommu/rockchip-iommu.c
> index 258115b10fa9..ad3e2b97469e 100644
> --- a/drivers/iommu/rockchip-iommu.c
> +++ b/drivers/iommu/rockchip-iommu.c
> @@ -1241,6 +1241,12 @@ static int rk_iommu_probe(struct platform_device *pdev)
>
> static void rk_iommu_shutdown(struct platform_device *pdev)
> {
> + struct rk_iommu *iommu = platform_get_drvdata(pdev);
> + int i = 0, irq;
> +
> + while ((irq = platform_get_irq(pdev, i++)) != -ENXIO)
> + devm_free_irq(iommu->dev, irq, iommu);
> +
> pm_runtime_force_suspend(&pdev->dev);
> }
>
> --
> 2.17.0
>
After this patch the WARNING is gone on my Samsung Chromebook Plus.
Tested-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
>
> _______________________________________________
> Linux-rockchip mailing list
> Linux-rockchip at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-rockchip
^ permalink raw reply [flat|nested] 5+ messages in thread* [PATCH] iommu/rockchip: Free irqs in shutdown handler
2018-08-27 10:56 [PATCH] iommu/rockchip: Free irqs in shutdown handler Heiko Stuebner
2018-08-27 10:59 ` Enric Balletbo Serra
@ 2018-09-11 10:57 ` Marc Zyngier
2018-09-20 21:07 ` Marc Zyngier
2018-09-25 9:14 ` Joerg Roedel
3 siblings, 0 replies; 5+ messages in thread
From: Marc Zyngier @ 2018-09-11 10:57 UTC (permalink / raw)
To: linux-arm-kernel
Hi Heiko,
On 27/08/18 11:56, Heiko Stuebner wrote:
> In the iommu's shutdown handler we disable runtime-pm which could
> result in the irq-handler running unclocked and since commit
> 3fc7c5c0cff3 ("iommu/rockchip: Handle errors returned from PM framework")
> we warn about that fact.
>
> This can cause warnings on shutdown on some Rockchip machines, so
> free the irqs in the shutdown handler before we disable runtime-pm.
>
> Reported-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
> Fixes: 3fc7c5c0cff3 ("iommu/rockchip: Handle errors returned from PM framework")
> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
> ---
> drivers/iommu/rockchip-iommu.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/drivers/iommu/rockchip-iommu.c b/drivers/iommu/rockchip-iommu.c
> index 258115b10fa9..ad3e2b97469e 100644
> --- a/drivers/iommu/rockchip-iommu.c
> +++ b/drivers/iommu/rockchip-iommu.c
> @@ -1241,6 +1241,12 @@ static int rk_iommu_probe(struct platform_device *pdev)
>
> static void rk_iommu_shutdown(struct platform_device *pdev)
> {
> + struct rk_iommu *iommu = platform_get_drvdata(pdev);
> + int i = 0, irq;
> +
> + while ((irq = platform_get_irq(pdev, i++)) != -ENXIO)
> + devm_free_irq(iommu->dev, irq, iommu);
> +
> pm_runtime_force_suspend(&pdev->dev);
> }
>
>
Looks OK to me. I don't think there is a point in using devm_irq*
anymore in this driver, but that's a separate issue.
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
M.
--
Jazz is not dead. It just smells funny...
^ permalink raw reply [flat|nested] 5+ messages in thread* [PATCH] iommu/rockchip: Free irqs in shutdown handler
2018-08-27 10:56 [PATCH] iommu/rockchip: Free irqs in shutdown handler Heiko Stuebner
2018-08-27 10:59 ` Enric Balletbo Serra
2018-09-11 10:57 ` Marc Zyngier
@ 2018-09-20 21:07 ` Marc Zyngier
2018-09-25 9:14 ` Joerg Roedel
3 siblings, 0 replies; 5+ messages in thread
From: Marc Zyngier @ 2018-09-20 21:07 UTC (permalink / raw)
To: linux-arm-kernel
On Mon, 27 Aug 2018 11:56:24 +0100,
Heiko Stuebner <heiko@sntech.de> wrote:
>
> In the iommu's shutdown handler we disable runtime-pm which could
> result in the irq-handler running unclocked and since commit
> 3fc7c5c0cff3 ("iommu/rockchip: Handle errors returned from PM framework")
> we warn about that fact.
>
> This can cause warnings on shutdown on some Rockchip machines, so
> free the irqs in the shutdown handler before we disable runtime-pm.
>
> Reported-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
> Fixes: 3fc7c5c0cff3 ("iommu/rockchip: Handle errors returned from PM framework")
> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
> ---
> drivers/iommu/rockchip-iommu.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/drivers/iommu/rockchip-iommu.c b/drivers/iommu/rockchip-iommu.c
> index 258115b10fa9..ad3e2b97469e 100644
> --- a/drivers/iommu/rockchip-iommu.c
> +++ b/drivers/iommu/rockchip-iommu.c
> @@ -1241,6 +1241,12 @@ static int rk_iommu_probe(struct platform_device *pdev)
>
> static void rk_iommu_shutdown(struct platform_device *pdev)
> {
> + struct rk_iommu *iommu = platform_get_drvdata(pdev);
> + int i = 0, irq;
> +
> + while ((irq = platform_get_irq(pdev, i++)) != -ENXIO)
> + devm_free_irq(iommu->dev, irq, iommu);
> +
> pm_runtime_force_suspend(&pdev->dev);
> }
>
> --
> 2.17.0
>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
M.
--
Jazz is not dead, it just smell funny.
^ permalink raw reply [flat|nested] 5+ messages in thread* [PATCH] iommu/rockchip: Free irqs in shutdown handler
2018-08-27 10:56 [PATCH] iommu/rockchip: Free irqs in shutdown handler Heiko Stuebner
` (2 preceding siblings ...)
2018-09-20 21:07 ` Marc Zyngier
@ 2018-09-25 9:14 ` Joerg Roedel
3 siblings, 0 replies; 5+ messages in thread
From: Joerg Roedel @ 2018-09-25 9:14 UTC (permalink / raw)
To: linux-arm-kernel
On Mon, Aug 27, 2018 at 12:56:24PM +0200, Heiko Stuebner wrote:
> In the iommu's shutdown handler we disable runtime-pm which could
> result in the irq-handler running unclocked and since commit
> 3fc7c5c0cff3 ("iommu/rockchip: Handle errors returned from PM framework")
> we warn about that fact.
>
> This can cause warnings on shutdown on some Rockchip machines, so
> free the irqs in the shutdown handler before we disable runtime-pm.
>
> Reported-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
> Fixes: 3fc7c5c0cff3 ("iommu/rockchip: Handle errors returned from PM framework")
> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
> ---
> drivers/iommu/rockchip-iommu.c | 6 ++++++
> 1 file changed, 6 insertions(+)
Applied for v4.19, thanks Heiko.
^ permalink raw reply [flat|nested] 5+ messages in thread