• Dan Carpenter's avatar
    net: stmmac: clean up impossible condition · 58e06d05
    Dan Carpenter authored
    This code works but it has a static checker warning:
    
        drivers/net/ethernet/stmicro/stmmac/stmmac_main.c:1687 init_dma_rx_desc_rings()
        warn: always true condition '(queue >= 0) => (0-u32max >= 0)'
    
    Obviously, it makes no sense to check if an unsigned int is >= 0.  What
    prevents this code from being a forever loop is that later there is a
    separate check for if (queue == 0).
    
    The "queue" variable is less than MTL_MAX_RX_QUEUES (8) so it can easily
    fit in an int type.  Any larger value for "queue" would lead to an array
    overflow when we assign "rx_q = &priv->rx_queue[queue]".
    
    Fixes: de0b90e5 ("net: stmmac: rearrange RX and TX desc init into per-queue basis")
    Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
    Link: https://lore.kernel.org/r/20220316083744.GB30941@kiliSigned-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
    58e06d05
stmmac_main.c 199 KB