From: Simon Glass Date: Wed, 31 May 2017 23:57:22 +0000 (-0600) Subject: tegra: clock: Avoid a divide-by-zero error X-Git-Tag: v2017.07-rc2~54^2~17 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=1c6c7b6bd8961373a506cf7908e9fe61f6042341;p=oweals%2Fu-boot.git tegra: clock: Avoid a divide-by-zero error The clock fix-up for tegra is still present in the code. It causes a divide-by-zero bug after relocation when chain-loading U-Boot from coreboot. Fix this by adding a check. Signed-off-by: Simon Glass Fixes: 7468676 (ARM: tegra: fix clock_get_periph_rate() for UART clocks) --- diff --git a/arch/arm/mach-tegra/clock.c b/arch/arm/mach-tegra/clock.c index 76436d8d91..bac42119cd 100644 --- a/arch/arm/mach-tegra/clock.c +++ b/arch/arm/mach-tegra/clock.c @@ -339,8 +339,11 @@ unsigned long clock_get_periph_rate(enum periph_id periph_id, * return value doesn't help. In summary this clock driver is * quite broken but I'm afraid I have no idea how to fix it * without completely replacing it. + * + * Be careful to avoid a divide by zero error. */ - div -= 2; + if (div >= 1) + div -= 2; break; #endif default: