Revert "tg3: Remove residual error handling in tg3_suspend"
This reverts commit 9ab4ad2956.
I went out of coffee and applied it to the wrong tree. Blame on me.
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
parent
9ab4ad2956
commit
72076fc9fe
|
|
@ -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;
|
||||
|
|
@ -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)
|
||||
|
|
@ -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();
|
||||
|
||||
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Reference in New Issue