Skip to content

Commit

Permalink
Revert "tg3: Remove residual error handling in tg3_suspend"
Browse files Browse the repository at this point in the history
This reverts commit 9ab4ad2.

I went out of coffee and applied it to the wrong tree. Blame on me.

Signed-off-by: Paolo Abeni <pabeni@redhat.com>
  • Loading branch information
Paolo Abeni committed Apr 4, 2024
1 parent 9ab4ad2 commit 72076fc
Showing 1 changed file with 26 additions and 4 deletions.
30 changes: 26 additions & 4 deletions drivers/net/ethernet/broadcom/tg3.c
Original file line number Diff line number Diff line change
Expand Up @@ -4019,7 +4019,7 @@ static int tg3_power_up(struct tg3 *tp)

static int tg3_setup_phy(struct tg3 *, bool);

static void tg3_power_down_prepare(struct tg3 *tp)
static int tg3_power_down_prepare(struct tg3 *tp)
{
u32 misc_host_ctrl;
bool device_should_wake, do_low_power;
Expand Down Expand Up @@ -4263,7 +4263,7 @@ static void tg3_power_down_prepare(struct tg3 *tp)

tg3_ape_driver_state_change(tp, RESET_KIND_SHUTDOWN);

return;
return 0;
}

static void tg3_power_down(struct tg3 *tp)
Expand Down Expand Up @@ -18084,6 +18084,7 @@ static int tg3_suspend(struct device *device)
{
struct net_device *dev = dev_get_drvdata(device);
struct tg3 *tp = netdev_priv(dev);
int err = 0;

rtnl_lock();

Expand All @@ -18107,11 +18108,32 @@ static int tg3_suspend(struct device *device)
tg3_flag_clear(tp, INIT_COMPLETE);
tg3_full_unlock(tp);

tg3_power_down_prepare(tp);
err = tg3_power_down_prepare(tp);
if (err) {
int err2;

tg3_full_lock(tp, 0);

tg3_flag_set(tp, INIT_COMPLETE);
err2 = tg3_restart_hw(tp, true);
if (err2)
goto out;

tg3_timer_start(tp);

netif_device_attach(dev);
tg3_netif_start(tp);

out:
tg3_full_unlock(tp);

if (!err2)
tg3_phy_start(tp);
}

unlock:
rtnl_unlock();
return 0;
return err;
}

static int tg3_resume(struct device *device)
Expand Down

0 comments on commit 72076fc

Please sign in to comment.