Pārlūkot izejas kodu

hwrng: bcm2835 - Handle deferred clock properly

In case the probe of the clock is deferred, we would assume it is
optional. This is wrong, so defer the probe of this driver until
the clock is available.

Fixes: 791af4f4907a ("hwrng: bcm2835 - Manage an optional clock")
Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Stefan Wahren 7 gadi atpakaļ
vecāks
revīzija
7b4c5d30d0
1 mainītis faili ar 2 papildinājumiem un 0 dzēšanām
  1. 2 0
      drivers/char/hw_random/bcm2835-rng.c

+ 2 - 0
drivers/char/hw_random/bcm2835-rng.c

@@ -163,6 +163,8 @@ static int bcm2835_rng_probe(struct platform_device *pdev)
 
 	/* Clock is optional on most platforms */
 	priv->clk = devm_clk_get(dev, NULL);
+	if (IS_ERR(priv->clk) && PTR_ERR(priv->clk) == -EPROBE_DEFER)
+		return -EPROBE_DEFER;
 
 	priv->rng.name = pdev->name;
 	priv->rng.init = bcm2835_rng_init;