summaryrefslogtreecommitdiffstats
path: root/init/noinitramfs.c
diff options
context:
space:
mode:
authorSeung-Woo Kim <sw0312.kim@samsung.com>2016-08-16 23:22:01 +0900
committerThierry Reding <thierry.reding@gmail.com>2016-09-06 10:48:55 +0200
commit04d68dea26b0a409d44e87ea573a131b6dc67e78 (patch)
tree30fe469fa845ba655d55396ca503ccd2a57bc5a5 /init/noinitramfs.c
parent549c50af251969ecc8de1f773921c2a861fd240b (diff)
downloadlinux-04d68dea26b0a409d44e87ea573a131b6dc67e78.tar.gz
linux-04d68dea26b0a409d44e87ea573a131b6dc67e78.tar.bz2
linux-04d68dea26b0a409d44e87ea573a131b6dc67e78.zip
pwm: samsung: Fix to use lowest div for large enough modulation bits
From pwm_samsung_calc_tin(), there is routine to find the lowest divider possible to generate lower frequency than requested one. But it is always possible to generate requested frequency with large enough modulation bits except on s3c24xx, so this patch fixes to use lowest div for the case. This patch removes following UBSAN warning: UBSAN: Undefined behaviour in drivers/pwm/pwm-samsung.c:197:13 shift exponent 32 is too large for 32-bit type 'long unsigned int' [...] [<c0670248>] (ubsan_epilogue) from [<c06707b4>] (__ubsan_handle_shift_out_of_bounds+0xd8/0x120) [<c06707b4>] (__ubsan_handle_shift_out_of_bounds) from [<c0694b28>] (pwm_samsung_config+0x508/0x6a4) [<c0694b28>] (pwm_samsung_config) from [<c069286c>] (pwm_apply_state+0x174/0x40c) [<c069286c>] (pwm_apply_state) from [<c0b2e070>] (pwm_fan_probe+0xc8/0x488) [<c0b2e070>] (pwm_fan_probe) from [<c07ba8b0>] (platform_drv_probe+0x70/0x150) [...] Cc: Tomasz Figa <tomasz.figa@gmail.com> Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
Diffstat (limited to 'init/noinitramfs.c')
0 files changed, 0 insertions, 0 deletions