--- a/arch/mips/xburst/soc-t31/common/clk/clk_cgu.c
+++ b/arch/mips/xburst/soc-t31/common/clk/clk_cgu.c
@@ -113,18 +113,18 @@
 	unsigned long x;
 	unsigned long flags;
 	int no = CLK_CGU_NO(clk->flags);
-
-	if (!(strcmp(clk->name, "cgu_i2s_spk")) || !(strcmp(clk->name, "cgu_i2s_mic"))) {
-		unsigned int reg_val = 0;
-		int m = 0, n = 0;
-		reg_val = cpm_inl(cgu_clks[no].off) & 0xf0000000;
-		n = reg_val & 0xfffff;
-		m = (reg_val >> 20) & 0x1ff;
-
-		printk(KERN_DEBUG"%s, parent = %ld, rate = %ld, m = %d, n = %d, reg val = 0x%08x\n",
-				__func__, clk->parent->rate, clk->rate, m, n, cpm_inl(cgu_clks[no].off));
-		return (clk->parent->rate * m) / n;
-	}
+// FixMe: This leads to hang during boot with GCC>5.5.0
+//	if (!(strcmp(clk->name, "cgu_i2s_spk")) || !(strcmp(clk->name, "cgu_i2s_mic"))) {
+//		unsigned int reg_val = 0;
+//		int m = 0, n = 0;
+//		reg_val = cpm_inl(cgu_clks[no].off) & 0xf0000000;
+//		n = reg_val & 0xfffff;
+//		m = (reg_val >> 20) & 0x1ff;
+//
+//		printk(KERN_DEBUG"%s, parent = %ld, rate = %ld, m = %d, n = %d, reg val = 0x%08x\n",
+//				__func__, clk->parent->rate, clk->rate, m, n, cpm_inl(cgu_clks[no].off));
+//		return (clk->parent->rate * m) / n;
+//	}
 
 	if(clk->parent == get_clk_from_id(CLK_ID_EXT1))
 		return clk->parent->rate;