Question about checking rate_spi in pwrap_init_reg_clock

Axel Lin axel.lin at ingics.com
Mon Apr 20 18:58:07 PDT 2015


hi,
The implementation in pwrap_init_reg_clock seems has off-by-one bug.
If rate_spi is 26000000, current code set ck_mhz to 18 rather than 26.

I guess it needs below fix, but I'm not 100% sure as I don't have the datasheet.
Can someone confirm if this is a bug or not?


diff --git a/drivers/soc/mediatek/mtk-pmic-wrap.c b/drivers/soc/mediatek/mtk-pmic-wrap.c
index db5be1e..e910e19 100644
--- a/drivers/soc/mediatek/mtk-pmic-wrap.c
+++ b/drivers/soc/mediatek/mtk-pmic-wrap.c
@@ -568,9 +568,9 @@ static int pwrap_init_reg_clock(struct pmic_wrapper *wrp)
 
 	rate_spi = clk_get_rate(wrp->clk_spi);
 
-	if (rate_spi > 26000000)
+	if (rate_spi >= 26000000)
 		ck_mhz = 26;
-	else if (rate_spi > 18000000)
+	else if (rate_spi >= 18000000)
 		ck_mhz = 18;
 	else
 		ck_mhz = 0;





More information about the linux-arm-kernel mailing list