2009-07-22 12:58:55

by Rafael J. Wysocki

[permalink] [raw]
Subject: [PATCH] NET / skge: Enable WoL by default if supported

From: Rafael J. Wysocki <[email protected]>

If skge hardware is capable of waking up the system from sleep,
enable magic packet WoL during driver initialisation.

This makes WoL work without calling 'ethtool -s ethX wol g'
for each adapter.

Signed-off-by: Rafael J. Wysocki <[email protected]>
Tested-by: Michael Guntsche <[email protected]>
---
drivers/net/skge.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

Index: linux-2.6/drivers/net/skge.c
===================================================================
--- linux-2.6.orig/drivers/net/skge.c
+++ linux-2.6/drivers/net/skge.c
@@ -3856,8 +3856,10 @@ static struct net_device *skge_devinit(s
skge->speed = -1;
skge->advertising = skge_supported_modes(hw);

- if (device_may_wakeup(&hw->pdev->dev))
+ if (device_can_wakeup(&hw->pdev->dev)) {
skge->wol = wol_supported(hw) & WAKE_MAGIC;
+ device_set_wakeup_enable(&hw->pdev->dev, skge->wol);
+ }

hw->dev[port] = dev;


2009-07-22 17:00:04

by Stephen Hemminger

[permalink] [raw]
Subject: Re: [PATCH] NET / skge: Enable WoL by default if supported

On Wed, 22 Jul 2009 14:58:55 +0200
"Rafael J. Wysocki" <[email protected]> wrote:

> From: Rafael J. Wysocki <[email protected]>
>
> If skge hardware is capable of waking up the system from sleep,
> enable magic packet WoL during driver initialisation.
>
> This makes WoL work without calling 'ethtool -s ethX wol g'
> for each adapter.
>
> Signed-off-by: Rafael J. Wysocki <[email protected]>
> Tested-by: Michael Guntsche <[email protected]>
> ---
> drivers/net/skge.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> Index: linux-2.6/drivers/net/skge.c
> ===================================================================
> --- linux-2.6.orig/drivers/net/skge.c
> +++ linux-2.6/drivers/net/skge.c
> @@ -3856,8 +3856,10 @@ static struct net_device *skge_devinit(s
> skge->speed = -1;
> skge->advertising = skge_supported_modes(hw);
>
> - if (device_may_wakeup(&hw->pdev->dev))
> + if (device_can_wakeup(&hw->pdev->dev)) {
> skge->wol = wol_supported(hw) & WAKE_MAGIC;
> + device_set_wakeup_enable(&hw->pdev->dev, skge->wol);
> + }
>
> hw->dev[port] = dev;
>

Acked-by: Stephen Hemminger <[email protected]>
--

2009-07-22 18:25:13

by David Miller

[permalink] [raw]
Subject: Re: [PATCH] NET / skge: Enable WoL by default if supported

From: Stephen Hemminger <[email protected]>
Date: Wed, 22 Jul 2009 09:59:53 -0700

> On Wed, 22 Jul 2009 14:58:55 +0200
> "Rafael J. Wysocki" <[email protected]> wrote:
>
>> From: Rafael J. Wysocki <[email protected]>
>>
>> If skge hardware is capable of waking up the system from sleep,
>> enable magic packet WoL during driver initialisation.
>>
>> This makes WoL work without calling 'ethtool -s ethX wol g'
>> for each adapter.
>>
>> Signed-off-by: Rafael J. Wysocki <[email protected]>
>> Tested-by: Michael Guntsche <[email protected]>
>> ---
>> drivers/net/skge.c | 4 +++-
>> 1 file changed, 3 insertions(+), 1 deletion(-)
>>
>> Index: linux-2.6/drivers/net/skge.c
>> ===================================================================
>> --- linux-2.6.orig/drivers/net/skge.c
>> +++ linux-2.6/drivers/net/skge.c
>> @@ -3856,8 +3856,10 @@ static struct net_device *skge_devinit(s
>> skge->speed = -1;
>> skge->advertising = skge_supported_modes(hw);
>>
>> - if (device_may_wakeup(&hw->pdev->dev))
>> + if (device_can_wakeup(&hw->pdev->dev)) {
>> skge->wol = wol_supported(hw) & WAKE_MAGIC;
>> + device_set_wakeup_enable(&hw->pdev->dev, skge->wol);
>> + }
>>
>> hw->dev[port] = dev;
>>
>
> Acked-by: Stephen Hemminger <[email protected]>

Applied, thanks.