diff options
-rw-r--r-- | drivers/video/tegra/dc/dc.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/video/tegra/dc/dc.c b/drivers/video/tegra/dc/dc.c index 68681aefce12..6bdb79bbc79b 100644 --- a/drivers/video/tegra/dc/dc.c +++ b/drivers/video/tegra/dc/dc.c @@ -834,6 +834,12 @@ tegra_dc_config_pwm(struct tegra_dc *dc, struct tegra_dc_pwm_params *cfg) { unsigned int ctrl; + mutex_lock(&dc->lock); + if (!dc->enabled) { + mutex_unlock(&dc->lock); + return; + } + ctrl = ((cfg->period << PM_PERIOD_SHIFT) | (cfg->clk_div << PM_CLK_DIVIDER_SHIFT) | cfg->clk_select); @@ -849,8 +855,9 @@ tegra_dc_config_pwm(struct tegra_dc *dc, struct tegra_dc_pwm_params *cfg) break; default: dev_err(&dc->ndev->dev, "Error\n"); - return; + break; } + mutex_unlock(&dc->lock); } EXPORT_SYMBOL(tegra_dc_config_pwm); |