ethernet: tg3: remove unreachable code
authorMikhail Kobuk <m.kobuk@ispras.ru>
Fri, 25 Aug 2023 19:04:41 +0000 (22:04 +0300)
committerDavid S. Miller <davem@davemloft.net>
Mon, 28 Aug 2023 09:22:00 +0000 (10:22 +0100)
'tp->irq_max' value is either 1 [L16336] or 5 [L16354], as indicated in
tg3_get_invariants(). Therefore, 'i' can't exceed 4 in tg3_init_one()
that makes (i <= 4) always true. Moreover, 'intmbx' value set at the
last iteration is not used later in it's scope.

Found by Linux Verification Center (linuxtesting.org) with SVACE.

Fixes: 78f90dcf184b ("tg3: Move napi_add calls below tg3_get_invariants")
Signed-off-by: Mikhail Kobuk <m.kobuk@ispras.ru>
Reviewed-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
Reviewed-by: Simon Horman <horms@kernel.org>
Reviewed-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/tg3.c

index cb2810f..5408ed0 100644 (file)
@@ -17795,10 +17795,7 @@ static int tg3_init_one(struct pci_dev *pdev,
                tnapi->tx_pending = TG3_DEF_TX_RING_PENDING;
 
                tnapi->int_mbox = intmbx;
                tnapi->tx_pending = TG3_DEF_TX_RING_PENDING;
 
                tnapi->int_mbox = intmbx;
-               if (i <= 4)
-                       intmbx += 0x8;
-               else
-                       intmbx += 0x4;
+               intmbx += 0x8;
 
                tnapi->consmbox = rcvmbx;
                tnapi->prodmbox = sndmbx;
 
                tnapi->consmbox = rcvmbx;
                tnapi->prodmbox = sndmbx;