Skip to content

Commit

Permalink
can: at91_can: add missing prepare and unprepare of the clock
Browse files Browse the repository at this point in the history
In order to make the driver work with the common clock framework, this patch
converts the clk_enable()/clk_disable() to
clk_prepare_enable()/clk_disable_unprepare(). While there, add the missing
error handling.

Signed-off-by: David Dueck <davidcdueck@googlemail.com>
Signed-off-by: Anthony Harivel <anthony.harivel@emtrion.de>
Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Cc: linux-stable <stable@vger.kernel.org>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
  • Loading branch information
David Dueck authored and Marc Kleine-Budde committed Sep 18, 2014
1 parent 4c728d8 commit e77980e
Showing 1 changed file with 5 additions and 3 deletions.
8 changes: 5 additions & 3 deletions drivers/net/can/at91_can.c
Original file line number Diff line number Diff line change
Expand Up @@ -1123,7 +1123,9 @@ static int at91_open(struct net_device *dev)
struct at91_priv *priv = netdev_priv(dev);
int err;

clk_enable(priv->clk);
err = clk_prepare_enable(priv->clk);
if (err)
return err;

/* check or determine and set bittime */
err = open_candev(dev);
Expand All @@ -1149,7 +1151,7 @@ static int at91_open(struct net_device *dev)
out_close:
close_candev(dev);
out:
clk_disable(priv->clk);
clk_disable_unprepare(priv->clk);

return err;
}
Expand All @@ -1166,7 +1168,7 @@ static int at91_close(struct net_device *dev)
at91_chip_stop(dev, CAN_STATE_STOPPED);

free_irq(dev->irq, dev);
clk_disable(priv->clk);
clk_disable_unprepare(priv->clk);

close_candev(dev);

Expand Down

0 comments on commit e77980e

Please sign in to comment.