]>
Commit | Line | Data |
---|---|---|
00e5a55c BS |
1 | From: Rafael J. Wysocki <rjw@suse.de> |
2 | Subject: net (tg3): Fix failure to enable WoL by default when possible | |
3 | References: bnc#447371 | |
4 | ||
5 | tg3 is supposed to enable WoL by default on adapters which support | |
6 | that, but it fails to do so unless the adapter's | |
7 | /sys/devices/.../power/wakeup file contains 'enabled' during the | |
8 | initialization of the adapter. Fix that by making tg3 update the | |
9 | device's 'should_wakeup' bit automatically whenever WoL should be | |
10 | enabled by default. | |
11 | ||
12 | Signed-off-by: Rafael J. Wysocki <rjw@suse.de> | |
13 | --- | |
14 | drivers/net/tg3.c | 10 ++++++---- | |
15 | 1 file changed, 6 insertions(+), 4 deletions(-) | |
16 | ||
17 | Index: linux-2.6.27/drivers/net/tg3.c | |
18 | =================================================================== | |
19 | --- linux-2.6.27.orig/drivers/net/tg3.c | |
20 | +++ linux-2.6.27/drivers/net/tg3.c | |
21 | @@ -11340,9 +11340,10 @@ static void __devinit tg3_get_eeprom_hw_ | |
22 | if (val & VCPU_CFGSHDW_ASPM_DBNC) | |
23 | tp->tg3_flags |= TG3_FLAG_ASPM_WORKAROUND; | |
24 | if ((val & VCPU_CFGSHDW_WOL_ENABLE) && | |
25 | - (val & VCPU_CFGSHDW_WOL_MAGPKT) && | |
26 | - device_may_wakeup(&tp->pdev->dev)) | |
27 | + (val & VCPU_CFGSHDW_WOL_MAGPKT)) { | |
28 | tp->tg3_flags |= TG3_FLAG_WOL_ENABLE; | |
29 | + device_set_wakeup_enable(&tp->pdev->dev, true); | |
30 | + } | |
31 | return; | |
32 | } | |
33 | ||
34 | @@ -11472,9 +11473,10 @@ static void __devinit tg3_get_eeprom_hw_ | |
35 | tp->tg3_flags &= ~TG3_FLAG_WOL_CAP; | |
36 | ||
37 | if ((tp->tg3_flags & TG3_FLAG_WOL_CAP) && | |
38 | - (nic_cfg & NIC_SRAM_DATA_CFG_WOL_ENABLE) && | |
39 | - device_may_wakeup(&tp->pdev->dev)) | |
40 | + (nic_cfg & NIC_SRAM_DATA_CFG_WOL_ENABLE)) { | |
41 | tp->tg3_flags |= TG3_FLAG_WOL_ENABLE; | |
42 | + device_set_wakeup_enable(&tp->pdev->dev, true); | |
43 | + } | |
44 | ||
45 | if (cfg2 & (1 << 17)) | |
46 | tp->tg3_flags2 |= TG3_FLG2_CAPACITIVE_COUPLING; |