* [PATCH] Enable the clock before calling clk_get_rate().
@ 2018-04-19 13:03 Stefan Potyra
2018-04-21 23:10 ` Florian Fainelli
0 siblings, 1 reply; 5+ messages in thread
From: Stefan Potyra @ 2018-04-19 13:03 UTC (permalink / raw)
To: linux-arm-kernel
Found by Linux Driver Verification project (linuxtesting.org).
Fixes: 142168eba9dc spi: bcm63xx-hsspi: add bcm63xx HSSPI driver
Signed-off-by: Stefan Potyra <Stefan.Potyra@elektrobit.com>
---
drivers/spi/spi-bcm63xx-hsspi.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/spi/spi-bcm63xx-hsspi.c b/drivers/spi/spi-bcm63xx-hsspi.c
index cbcba614b253..46cd9b683d22 100644
--- a/drivers/spi/spi-bcm63xx-hsspi.c
+++ b/drivers/spi/spi-bcm63xx-hsspi.c
@@ -352,6 +352,10 @@ static int bcm63xx_hsspi_probe(struct platform_device *pdev)
if (IS_ERR(clk))
return PTR_ERR(clk);
+ ret = clk_prepare_enable(clk);
+ if (ret)
+ return ret;
+
rate = clk_get_rate(clk);
if (!rate) {
struct clk *pll_clk = devm_clk_get(dev, "pll");
@@ -364,10 +368,6 @@ static int bcm63xx_hsspi_probe(struct platform_device *pdev)
return -EINVAL;
}
- ret = clk_prepare_enable(clk);
- if (ret)
- return ret;
-
master = spi_alloc_master(&pdev->dev, sizeof(*bs));
if (!master) {
ret = -ENOMEM;
--
2.17.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH] Enable the clock before calling clk_get_rate().
2018-04-19 13:03 [PATCH] Enable the clock before calling clk_get_rate() Stefan Potyra
@ 2018-04-21 23:10 ` Florian Fainelli
[not found] ` <20180424161605.GA17825@er01809n.ebgroup.elektrobit.com>
0 siblings, 1 reply; 5+ messages in thread
From: Florian Fainelli @ 2018-04-21 23:10 UTC (permalink / raw)
To: linux-arm-kernel
+Jonas,
On 04/19/2018 06:03 AM, Stefan Potyra wrote:
> Found by Linux Driver Verification project (linuxtesting.org).
Please use a commit subject which matches what was used before:
git log --no-merges --oneline drivers/spi/spi-bcm63xx-hsspi.c
378da4a65f3a spi/bcm63xx-hspi: fix error return code in
bcm63xx_hsspi_probe()
c3c25ea712c9 spi/bcm63xx-hspi: Fix checkpatch warnings
0b85a8421790 spi: bcm63xx-hsspi: Export OF device ID table as module aliases
7ab2463550e2 spi/bcm63xx-hsspi: allow for probing through devicetree
ff18e1ef04e2 spi/bcm63xx-hsspi: allow providing clock rate through a
second clock
f4d862237715 spi/bcm63xx-hsspi: add support for dual spi read/write
14ac00e033c5 spi: drop owner assignment from platform_drivers
e4745fef5595 spi: Remove unneeded include of linux/workqueue.h
1480916ebd6f spi: bcm63xx-hsspi: Use SIMPLE_DEV_PM_OPS macro
aa0fe82629f1 spi: Use reinit_completion at appropriate places
937ebf9cd34a spi/bcm63xx-hsspi: fix pm sleep support
7d255695804f spi/bcm63xx-hsspi: use devm_register_master()
dea5de1b37c0 spi/bcm63xx-hsspi: check result of clk_prepare_enable
b1bdd4f883e1 spi: bcm63xx-hsspi: Use devm_clk_get()
87917528cc92 spi: bcm63xx-hsspi: checking for ERR_PTR instead of NULL
142168eba9dc spi: bcm63xx-hsspi: add bcm63xx HSSPI driver
>
> Fixes: 142168eba9dc spi: bcm63xx-hsspi: add bcm63xx HSSPI driver
Please include the commit title in ("<title>") as is indicated in the
SubmittingPatches document.
Thank you
> Signed-off-by: Stefan Potyra <Stefan.Potyra@elektrobit.com>
> ---
> drivers/spi/spi-bcm63xx-hsspi.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/spi/spi-bcm63xx-hsspi.c b/drivers/spi/spi-bcm63xx-hsspi.c
> index cbcba614b253..46cd9b683d22 100644
> --- a/drivers/spi/spi-bcm63xx-hsspi.c
> +++ b/drivers/spi/spi-bcm63xx-hsspi.c
> @@ -352,6 +352,10 @@ static int bcm63xx_hsspi_probe(struct platform_device *pdev)
> if (IS_ERR(clk))
> return PTR_ERR(clk);
>
> + ret = clk_prepare_enable(clk);
> + if (ret)
> + return ret;
> +
> rate = clk_get_rate(clk);
> if (!rate) {
> struct clk *pll_clk = devm_clk_get(dev, "pll");
> @@ -364,10 +368,6 @@ static int bcm63xx_hsspi_probe(struct platform_device *pdev)
> return -EINVAL;
> }
>
> - ret = clk_prepare_enable(clk);
> - if (ret)
> - return ret;
> -
> master = spi_alloc_master(&pdev->dev, sizeof(*bs));
> if (!master) {
> ret = -ENOMEM;
>
--
Florian
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v2] spi/bcm63xx-hspi: Enable the clock before calling clk_get_rate().
[not found] ` <20180424161605.GA17825@er01809n.ebgroup.elektrobit.com>
@ 2018-04-24 17:32 ` Mark Brown
[not found] ` <20180425134728.GA20897@er01809n.ebgroup.elektrobit.com>
0 siblings, 1 reply; 5+ messages in thread
From: Mark Brown @ 2018-04-24 17:32 UTC (permalink / raw)
To: linux-arm-kernel
On Tue, Apr 24, 2018 at 06:16:05PM +0200, Stefan Potyra wrote:
> + ret = clk_prepare_enable(clk);
> + if (ret)
> + return ret;
> +
> rate = clk_get_rate(clk);
> if (!rate) {
> struct clk *pll_clk = devm_clk_get(dev, "pll");
> @@ -364,10 +368,6 @@ static int bcm63xx_hsspi_probe(struct platform_device *pdev)
> return -EINVAL;
> }
>
> - ret = clk_prepare_enable(clk);
> - if (ret)
> - return ret;
> -
We can return an error after the clock was enabled, this will leake the
clock if that happens.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20180424/092def40/attachment.sig>
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v3] spi/bcm63xx-hspi: Enable the clock before calling
[not found] ` <20180425134728.GA20897@er01809n.ebgroup.elektrobit.com>
@ 2018-04-25 15:50 ` Mark Brown
[not found] ` <20180425164904.GA30349@er01809n.ebgroup.elektrobit.com>
0 siblings, 1 reply; 5+ messages in thread
From: Mark Brown @ 2018-04-25 15:50 UTC (permalink / raw)
To: linux-arm-kernel
On Wed, Apr 25, 2018 at 03:47:30PM +0200, Stefan Potyra wrote:
> + ret = clk_prepare_enable(clk);
> + if (ret)
> + return ret;
> +
> rate = clk_get_rate(clk);
> if (!rate) {
> struct clk *pll_clk = devm_clk_get(dev, "pll");
>
> - if (IS_ERR(pll_clk))
> - return PTR_ERR(pll_clk);
> + if (IS_ERR(pll_clk)) {
> + ret = PTR_ERR(pll_clk);
> + goto out_disable_clk;
> + }
> +
>
> rate = clk_get_rate(pll_clk);
Isn't this just showing the same problem with not enabling the pll_clk
before getting the rate that you're trying to fix for the main clk?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20180425/88181dcb/attachment-0001.sig>
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v4] spi/bcm63xx-hspi: Enable the clock before calling clk_get_rate().
[not found] ` <20180425164904.GA30349@er01809n.ebgroup.elektrobit.com>
@ 2018-04-25 17:28 ` Mark Brown
0 siblings, 0 replies; 5+ messages in thread
From: Mark Brown @ 2018-04-25 17:28 UTC (permalink / raw)
To: linux-arm-kernel
On Wed, Apr 25, 2018 at 06:49:06PM +0200, Stefan Potyra wrote:
> Additionally, prepare/enable the pll_clk before calling clk_get_rate()
> for the same reason.
I don't see this change in the code:
> struct clk *pll_clk = devm_clk_get(dev, "pll");
>
> - if (IS_ERR(pll_clk))
> - return PTR_ERR(pll_clk);
> + if (IS_ERR(pll_clk)) {
> + ret = PTR_ERR(pll_clk);
> + goto out_disable_clk;
> + }
> +
>
> rate = clk_get_rate(pll_clk);
> - if (!rate)
> - return -EINVAL;
Did you forget a git add?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20180425/2a164cf9/attachment.sig>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2018-04-25 17:28 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-04-19 13:03 [PATCH] Enable the clock before calling clk_get_rate() Stefan Potyra
2018-04-21 23:10 ` Florian Fainelli
[not found] ` <20180424161605.GA17825@er01809n.ebgroup.elektrobit.com>
2018-04-24 17:32 ` [PATCH v2] spi/bcm63xx-hspi: " Mark Brown
[not found] ` <20180425134728.GA20897@er01809n.ebgroup.elektrobit.com>
2018-04-25 15:50 ` [PATCH v3] spi/bcm63xx-hspi: Enable the clock before calling Mark Brown
[not found] ` <20180425164904.GA30349@er01809n.ebgroup.elektrobit.com>
2018-04-25 17:28 ` [PATCH v4] spi/bcm63xx-hspi: Enable the clock before calling clk_get_rate() Mark Brown
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).