Remove duplicated code for handling the !netif_running() case. Signed-off-by: Baruch Siach <bar...@tkos.co.il> --- Build tested only. --- drivers/net/ethernet/marvell/mvpp2.c | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-)
diff --git a/drivers/net/ethernet/marvell/mvpp2.c b/drivers/net/ethernet/marvell/mvpp2.c index e427b4706726..64b7f985d517 100644 --- a/drivers/net/ethernet/marvell/mvpp2.c +++ b/drivers/net/ethernet/marvell/mvpp2.c @@ -5674,32 +5674,28 @@ static int mvpp2_set_mac_address(struct net_device *dev, void *p) { struct mvpp2_port *port = netdev_priv(dev); const struct sockaddr *addr = p; - int err; + int err, restart_dev = 0; if (!is_valid_ether_addr(addr->sa_data)) { err = -EADDRNOTAVAIL; goto error; } - if (!netif_running(dev)) { - err = mvpp2_prs_update_mac_da(dev, addr->sa_data); - if (!err) - return 0; - /* Reconfigure parser to accept the original MAC address */ + if (netif_running(dev)) { + mvpp2_stop_dev(port); + restart_dev = 1; + } + + err = mvpp2_prs_update_mac_da(dev, addr->sa_data); + if (err) { + /* Reconfigure parser accept the original MAC address */ mvpp2_prs_update_mac_da(dev, dev->dev_addr); goto error; } - mvpp2_stop_dev(port); - - err = mvpp2_prs_update_mac_da(dev, addr->sa_data); - if (!err) - goto out_start; + if (!restart_dev) + return 0; - /* Reconfigure parser accept the original MAC address */ - mvpp2_prs_update_mac_da(dev, dev->dev_addr); - goto error; -out_start: mvpp2_start_dev(port); mvpp2_egress_enable(port); mvpp2_ingress_enable(port); -- 2.10.2