mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-14 22:44:27 +08:00
rocker: fix maybe-uninitialized warning
In some rare configurations, we get a warning about the 'index' variable being used without an initialization: drivers/net/ethernet/rocker/rocker_ofdpa.c: In function ‘ofdpa_port_fib_ipv4.isra.16.constprop’: drivers/net/ethernet/rocker/rocker_ofdpa.c:2425:92: warning: ‘index’ may be used uninitialized in this function [-Wmaybe-uninitialized] This is a false positive, the logic is just a bit too complex for gcc to follow here. Moving the intialization of 'index' a little further down makes it clear to gcc that the function always returns an error if it is not initialized. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
52ccd63184
commit
ecf244f753
@ -1493,8 +1493,6 @@ static int ofdpa_port_ipv4_nh(struct ofdpa_port *ofdpa_port,
|
|||||||
spin_lock_irqsave(&ofdpa->neigh_tbl_lock, lock_flags);
|
spin_lock_irqsave(&ofdpa->neigh_tbl_lock, lock_flags);
|
||||||
|
|
||||||
found = ofdpa_neigh_tbl_find(ofdpa, ip_addr);
|
found = ofdpa_neigh_tbl_find(ofdpa, ip_addr);
|
||||||
if (found)
|
|
||||||
*index = found->index;
|
|
||||||
|
|
||||||
updating = found && adding;
|
updating = found && adding;
|
||||||
removing = found && !adding;
|
removing = found && !adding;
|
||||||
@ -1508,9 +1506,11 @@ static int ofdpa_port_ipv4_nh(struct ofdpa_port *ofdpa_port,
|
|||||||
resolved = false;
|
resolved = false;
|
||||||
} else if (removing) {
|
} else if (removing) {
|
||||||
ofdpa_neigh_del(trans, found);
|
ofdpa_neigh_del(trans, found);
|
||||||
|
*index = found->index;
|
||||||
} else if (updating) {
|
} else if (updating) {
|
||||||
ofdpa_neigh_update(found, trans, NULL, false);
|
ofdpa_neigh_update(found, trans, NULL, false);
|
||||||
resolved = !is_zero_ether_addr(found->eth_dst);
|
resolved = !is_zero_ether_addr(found->eth_dst);
|
||||||
|
*index = found->index;
|
||||||
} else {
|
} else {
|
||||||
err = -ENOENT;
|
err = -ENOENT;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user