Sign-compare issues in FreeRTOS+TCP STM32Fxx driver

When I build the STM32Fxx FreeRTOS+TCP network driver with arm-none-eabi-gcc (version 10.3.1) I get the following warnings:

<path>/STM32Fxx/NetworkInterface.c:532:29: warning: comparison of integer expressions of different signedness: 'BaseType_t' {aka 'long int'} and 'long unsigned int' [-Wsign-compare]
  532 |     for( xIndex = 0; xIndex < ETH_TXBUFNB; xIndex++, pxDMADescriptor++ )
      |                             ^
<path>/STM32Fxx/NetworkInterface.c:555:20: warning: comparison of integer expressions of different signedness: 'BaseType_t' {aka 'long int'} and 'long unsigned int' [-Wsign-compare]
  555 |         if( xIndex < ETH_TXBUFNB - 1 )
      |                    ^
<path>/STM32Fxx/NetworkInterface.c: In function 'prvDMARxDescListInit':
<path>/STM32Fxx/NetworkInterface.c:585:29: warning: comparison of integer expressions of different signedness: 'BaseType_t' {aka 'long int'} and 'long unsigned int' [-Wsign-compare]
  585 |     for( xIndex = 0; xIndex < ETH_RXBUFNB; xIndex++, pxDMADescriptor++ )
      |                             ^
<path>/STM32Fxx/NetworkInterface.c:617:20: warning: comparison of integer expressions of different signedness: 'BaseType_t' {aka 'long int'} and 'long unsigned int' [-Wsign-compare]

This is because ETH_TXBUFNB and ETH_RXBUFNB are defined in stm32fxx_hal_eth.h as uint32_t (lines 803 and 831) whereas xIndex is defined as BaseType_t.

As both type definitions should match, should they all be BaseType_t or UBaseType_t?

-Andy.

It looks like xIndex should be UBaseType_t - although as this is STM32 specific it can just be uint32_t.