From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sylwester Nawrocki Subject: Re: [PATCH v2 1/5] clk: samsung: Fix double add of syscore ops after driver rebind Date: Wed, 03 Dec 2014 13:10:55 +0100 Message-ID: <547EFDCF.2030404@samsung.com> References: <1417011857-10419-1-git-send-email-k.kozlowski@samsung.com> <1417011857-10419-2-git-send-email-k.kozlowski@samsung.com> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Return-path: Received: from mailout4.w1.samsung.com ([210.118.77.14]:24325 "EHLO mailout4.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751270AbaLCMLL (ORCPT ); Wed, 3 Dec 2014 07:11:11 -0500 In-reply-to: <1417011857-10419-2-git-send-email-k.kozlowski@samsung.com> Sender: linux-samsung-soc-owner@vger.kernel.org List-Id: linux-samsung-soc@vger.kernel.org To: Krzysztof Kozlowski Cc: Tomasz Figa , Mike Turquette , Kukjin Kim , linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Javier Martinez Canillas , Vivek Gautam , Kevin Hilman , Russell King , Kyungmin Park , Marek Szyprowski , Bartlomiej Zolnierkiewicz On 26/11/14 15:24, Krzysztof Kozlowski wrote: > During driver unbind the syscore ops were not unregistered which lead to > double add on syscore list: > > $ echo "3810000.audss-clock-controller" > /sys/bus/platform/drivers/exynos-audss-clk/unbind > $ echo "3810000.audss-clock-controller" > /sys/bus/platform/drivers/exynos-audss-clk/bind > [ 1463.044061] ------------[ cut here ]------------ > [ 1463.047255] WARNING: CPU: 0 PID: 1 at lib/list_debug.c:36 __list_add+0x8c/0xc0() > [ 1463.054613] list_add double add: new=c06e52c0, prev=c06e52c0, next=c06d5f84. > [ 1463.061625] Modules linked in: > [ 1463.064623] CPU: 0 PID: 1 Comm: bash Tainted: G W 3.18.0-rc5-next-20141121-00005-ga8fab06eab42-dirty #1022 > [ 1463.075338] [] (unwind_backtrace) from [] (show_stack+0x10/0x14) > [ 1463.083046] [] (show_stack) from [] (dump_stack+0x70/0xbc) > [ 1463.090236] [] (dump_stack) from [] (warn_slowpath_common+0x74/0xb0) > [ 1463.098295] [] (warn_slowpath_common) from [] (warn_slowpath_fmt+0x30/0x40) > [ 1463.106962] [] (warn_slowpath_fmt) from [] (__list_add+0x8c/0xc0) > [ 1463.114760] [] (__list_add) from [] (register_syscore_ops+0x30/0x3c) > [ 1463.122819] [] (register_syscore_ops) from [] (exynos_audss_clk_probe+0x36c/0x460) > [ 1463.132091] [] (exynos_audss_clk_probe) from [] (platform_drv_probe+0x48/0xa4) > [ 1463.141013] [] (platform_drv_probe) from [] (driver_probe_device+0x13c/0x37c) > [ 1463.149852] [] (driver_probe_device) from [] (bind_store+0x90/0xe0) > [ 1463.157822] [] (bind_store) from [] (drv_attr_store+0x20/0x2c) > [ 1463.165363] [] (drv_attr_store) from [] (sysfs_kf_write+0x4c/0x50) > [ 1463.173252] [] (sysfs_kf_write) from [] (kernfs_fop_write+0xbc/0x198) > [ 1463.181395] [] (kernfs_fop_write) from [] (vfs_write+0xa0/0x1a8) > [ 1463.189104] [] (vfs_write) from [] (SyS_write+0x40/0x8c) > [ 1463.196122] [] (SyS_write) from [] (ret_fast_syscall+0x0/0x48) > [ 1463.203655] ---[ end trace 08f6710c9bc8d8f3 ]--- > [ 1463.208244] exynos-audss-clk 3810000.audss-clock-controller: setup completed > > Signed-off-by: Krzysztof Kozlowski > Fixes: 1241ef94ccc3 ("clk: samsung: register audio subsystem clocks using common clock framework") > Cc: Thanks for the fix, I applied the patch to my tree. > --- > drivers/clk/samsung/clk-exynos-audss.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/clk/samsung/clk-exynos-audss.c b/drivers/clk/samsung/clk-exynos-audss.c > index acce708ace18..7c4368e75ede 100644 > --- a/drivers/clk/samsung/clk-exynos-audss.c > +++ b/drivers/clk/samsung/clk-exynos-audss.c > @@ -210,6 +210,10 @@ static int exynos_audss_clk_remove(struct platform_device *pdev) > { > int i; > > +#ifdef CONFIG_PM_SLEEP > + unregister_syscore_ops(&exynos_audss_clk_syscore_ops); > +#endif > + -- Regards, Sylwester From mboxrd@z Thu Jan 1 00:00:00 1970 From: s.nawrocki@samsung.com (Sylwester Nawrocki) Date: Wed, 03 Dec 2014 13:10:55 +0100 Subject: [PATCH v2 1/5] clk: samsung: Fix double add of syscore ops after driver rebind In-Reply-To: <1417011857-10419-2-git-send-email-k.kozlowski@samsung.com> References: <1417011857-10419-1-git-send-email-k.kozlowski@samsung.com> <1417011857-10419-2-git-send-email-k.kozlowski@samsung.com> Message-ID: <547EFDCF.2030404@samsung.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On 26/11/14 15:24, Krzysztof Kozlowski wrote: > During driver unbind the syscore ops were not unregistered which lead to > double add on syscore list: > > $ echo "3810000.audss-clock-controller" > /sys/bus/platform/drivers/exynos-audss-clk/unbind > $ echo "3810000.audss-clock-controller" > /sys/bus/platform/drivers/exynos-audss-clk/bind > [ 1463.044061] ------------[ cut here ]------------ > [ 1463.047255] WARNING: CPU: 0 PID: 1 at lib/list_debug.c:36 __list_add+0x8c/0xc0() > [ 1463.054613] list_add double add: new=c06e52c0, prev=c06e52c0, next=c06d5f84. > [ 1463.061625] Modules linked in: > [ 1463.064623] CPU: 0 PID: 1 Comm: bash Tainted: G W 3.18.0-rc5-next-20141121-00005-ga8fab06eab42-dirty #1022 > [ 1463.075338] [] (unwind_backtrace) from [] (show_stack+0x10/0x14) > [ 1463.083046] [] (show_stack) from [] (dump_stack+0x70/0xbc) > [ 1463.090236] [] (dump_stack) from [] (warn_slowpath_common+0x74/0xb0) > [ 1463.098295] [] (warn_slowpath_common) from [] (warn_slowpath_fmt+0x30/0x40) > [ 1463.106962] [] (warn_slowpath_fmt) from [] (__list_add+0x8c/0xc0) > [ 1463.114760] [] (__list_add) from [] (register_syscore_ops+0x30/0x3c) > [ 1463.122819] [] (register_syscore_ops) from [] (exynos_audss_clk_probe+0x36c/0x460) > [ 1463.132091] [] (exynos_audss_clk_probe) from [] (platform_drv_probe+0x48/0xa4) > [ 1463.141013] [] (platform_drv_probe) from [] (driver_probe_device+0x13c/0x37c) > [ 1463.149852] [] (driver_probe_device) from [] (bind_store+0x90/0xe0) > [ 1463.157822] [] (bind_store) from [] (drv_attr_store+0x20/0x2c) > [ 1463.165363] [] (drv_attr_store) from [] (sysfs_kf_write+0x4c/0x50) > [ 1463.173252] [] (sysfs_kf_write) from [] (kernfs_fop_write+0xbc/0x198) > [ 1463.181395] [] (kernfs_fop_write) from [] (vfs_write+0xa0/0x1a8) > [ 1463.189104] [] (vfs_write) from [] (SyS_write+0x40/0x8c) > [ 1463.196122] [] (SyS_write) from [] (ret_fast_syscall+0x0/0x48) > [ 1463.203655] ---[ end trace 08f6710c9bc8d8f3 ]--- > [ 1463.208244] exynos-audss-clk 3810000.audss-clock-controller: setup completed > > Signed-off-by: Krzysztof Kozlowski > Fixes: 1241ef94ccc3 ("clk: samsung: register audio subsystem clocks using common clock framework") > Cc: Thanks for the fix, I applied the patch to my tree. > --- > drivers/clk/samsung/clk-exynos-audss.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/clk/samsung/clk-exynos-audss.c b/drivers/clk/samsung/clk-exynos-audss.c > index acce708ace18..7c4368e75ede 100644 > --- a/drivers/clk/samsung/clk-exynos-audss.c > +++ b/drivers/clk/samsung/clk-exynos-audss.c > @@ -210,6 +210,10 @@ static int exynos_audss_clk_remove(struct platform_device *pdev) > { > int i; > > +#ifdef CONFIG_PM_SLEEP > + unregister_syscore_ops(&exynos_audss_clk_syscore_ops); > +#endif > + -- Regards, Sylwester