mirror of
https://github.com/u-boot/u-boot.git
synced 2024-11-25 05:04:23 +08:00
imx: ventana: Avoid undefined behaviour
The leds array within struct ventana has space for 3 elements, but the setup_board_gpio() function tries to set up 4 GPIOs for LEDs. Recent versions of GCC complain about that: board/gateworks/gw_ventana/gw_ventana.c: In function 'setup_board_gpio': board/gateworks/gw_ventana/gw_ventana.c:987:27: warning: iteration 3u invokes undefined behavior [-Waggressive-loop-optimizations] if (gpio_cfg[board].leds[i]) ^ board/gateworks/gw_ventana/gw_ventana.c:986:2: note: containing loop for (i = 0; i < 4; i++) { ^ Fix this by making the upper bound of the loop match the array size. Signed-off-by: Thierry Reding <treding@nvidia.com> Acked-by: Tim Harvey <tharvey@gateworks.com>
This commit is contained in:
parent
021e79c853
commit
dc73cbe7b0
@ -1061,7 +1061,7 @@ static void setup_board_gpio(int board)
|
||||
#endif
|
||||
|
||||
/* turn off (active-high) user LED's */
|
||||
for (i = 0; i < 4; i++) {
|
||||
for (i = 0; i < ARRAY_SIZE(gpio_cfg[board].leds); i++) {
|
||||
if (gpio_cfg[board].leds[i])
|
||||
gpio_direction_output(gpio_cfg[board].leds[i], 1);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user