From f18fc04657cb776716928b3b929408f139c775af Mon Sep 17 00:00:00 2001 From: Kinsey Moore Date: Thu, 31 Jul 2025 09:31:52 -0500 Subject: [PATCH] bsps/shared/gpio: Fix array bounds warning GCC currently has issues with false positive warnings about array bounds violations when the value used as the index is a pointer. This slightly reworks the code to make it cleaner and to avoid this warning. --- bsps/shared/dev/gpio/gpio-support.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/bsps/shared/dev/gpio/gpio-support.c b/bsps/shared/dev/gpio/gpio-support.c index 9c053dc151..bfee660406 100644 --- a/bsps/shared/dev/gpio/gpio-support.c +++ b/bsps/shared/dev/gpio/gpio-support.c @@ -317,15 +317,14 @@ static rtems_status_code get_pin_bitmask( return RTEMS_INVALID_ID; } - bank = BANK_NUMBER(pin_number); - if ( i == 0 ) { + bank = BANK_NUMBER(pin_number); *bank_number = bank; ACQUIRE_LOCK(gpio_bank_state[bank].lock); } - else if ( bank != *bank_number ) { - RELEASE_LOCK(gpio_bank_state[*bank_number].lock); + else if ( bank != BANK_NUMBER(pin_number) ) { + RELEASE_LOCK(gpio_bank_state[bank].lock); return RTEMS_UNSATISFIED; }