aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-shmobile/board-ap4evb.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/arch/arm/mach-shmobile/board-ap4evb.c b/arch/arm/mach-shmobile/board-ap4evb.c
index f59e93919e26..07b85c034d13 100644
--- a/arch/arm/mach-shmobile/board-ap4evb.c
+++ b/arch/arm/mach-shmobile/board-ap4evb.c
@@ -674,9 +674,8 @@ static int fsi_hdmi_set_rate(struct device *dev, int rate, int enable)
674 return -EIO; 674 return -EIO;
675 675
676 ret = __fsi_set_round_rate(fsib_clk, fsib_rate, enable); 676 ret = __fsi_set_round_rate(fsib_clk, fsib_rate, enable);
677 clk_put(fsib_clk);
678 if (ret < 0) 677 if (ret < 0)
679 return ret; 678 goto fsi_set_rate_end;
680 679
681 /* FSI DIV setting */ 680 /* FSI DIV setting */
682 ret = __fsi_set_round_rate(fdiv_clk, fdiv_rate, enable); 681 ret = __fsi_set_round_rate(fdiv_clk, fdiv_rate, enable);
@@ -684,10 +683,14 @@ static int fsi_hdmi_set_rate(struct device *dev, int rate, int enable)
684 /* disable FSI B */ 683 /* disable FSI B */
685 if (enable) 684 if (enable)
686 __fsi_set_round_rate(fsib_clk, fsib_rate, 0); 685 __fsi_set_round_rate(fsib_clk, fsib_rate, 0);
687 return ret; 686 goto fsi_set_rate_end;
688 } 687 }
689 688
690 return ackmd_bpfmd; 689 ret = ackmd_bpfmd;
690
691fsi_set_rate_end:
692 clk_put(fsib_clk);
693 return ret;
691} 694}
692 695
693static int fsi_set_rate(struct device *dev, int is_porta, int rate, int enable) 696static int fsi_set_rate(struct device *dev, int is_porta, int rate, int enable)