diff options
author | Purna Chandra Mandal <purna.mandal@microchip.com> | 2016-05-17 10:35:50 +0530 |
---|---|---|
committer | Stephen Boyd <sboyd@codeaurora.org> | 2016-08-24 16:05:23 -0700 |
commit | 12f53b2432ad1a2a3f09cf9b772a467b2f20e040 (patch) | |
tree | 8e544e1ba829378b980d25171c9e39842f1fa81f | |
parent | 49abf69fb9372805b962707ceb3dfb913e9f54e5 (diff) |
clk: microchip: use readl_poll_timeout() in pbclk_set_rate().
pbclk_set_rate() is using readl_poll_timeout_atomic() even
though spinlock is released. Fix it by replacing with
readl_poll_timeout().
Signed-off-by: Purna Chandra Mandal <purna.mandal@microchip.com>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
-rw-r--r-- | drivers/clk/microchip/clk-core.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/clk/microchip/clk-core.c b/drivers/clk/microchip/clk-core.c index ca85cea17839..c3b301463425 100644 --- a/drivers/clk/microchip/clk-core.c +++ b/drivers/clk/microchip/clk-core.c @@ -199,9 +199,9 @@ static int pbclk_set_rate(struct clk_hw *hw, unsigned long rate, spin_unlock_irqrestore(&pb->core->reg_lock, flags); - /* wait again, for pbdivready */ - err = readl_poll_timeout_atomic(pb->ctrl_reg, v, v & PB_DIV_READY, - 1, LOCK_TIMEOUT_US); + /* wait again for DIV_READY */ + err = readl_poll_timeout(pb->ctrl_reg, v, v & PB_DIV_READY, + 1, LOCK_TIMEOUT_US); if (err) return err; |