Subject: RE: drivers/net/usb/asix: bug in asix_get_wol

From: "allan" <[email-masked]>
Date: Sat, 17 Dec 2011 10:35:42 +0800

Dear Grant,

I will double check this issue and submit the revised patch to Linux kernel mainline source next week. Thanks a lot for your great helps.

---
Best regards,
Allan Chou
Technical Support Division
ASIX Electronics Corporation
TEL: 886-3-5799500 ext.228
FAX: 886-3-5799558
E-mail: [email-masked] 
http://www.asix.com.tw/ 

-----Original Message-----
From: [email-masked] [mailto:[email-masked]] On Behalf Of Grant Grundler
Sent: Saturday, December 17, 2011 6:16 AM
To: ASIX Allan Email [office]
Cc: Eugene; [email-masked]; Freddy Xin; ASIX Louis [蘇威陸]
Subject: Re: drivers/net/usb/asix: bug in asix_get_wol

On Thu, Dec 15, 2011 at 9:15 PM, ASIX Allan Email [office]
<[email-masked]> wrote:
> Resend without attachment due to below email server error.
...
> -----Original Message-----
> From: ASIX Allan Email [office] [mailto:[email-masked]]
> Sent: Friday, December 16, 2011 11:38 AM
> To: 'Grant Grundler'; 'Eugene'
> Cc: [email-masked]'; 'Freddy Xin'; ASIX Louis [蘇威陸]
> Subject: RE: drivers/net/usb/asix: bug in asix_get_wol
> Importance: High
>
> Dear Grant and Eugene,
>
> Please refer to the attached file and below statements to modify the
> asix_get_wol() routine and let us know if this suggestion can solve
> your issues or not? Thanks a lot.

Allan,
Thanks for the response but it doesn't answer my previous question.
Let me ask the same question differently.

Does WOL support in asix driver need more than the four lines of code?
Ie does MONITOR_MODE need to be enabled or anything like that?

> ================
> static void
> asix_get_wol(struct net_device *net, struct ethtool_wolinfo *wolinfo)
> {
>        struct usbnet *dev = netdev_priv(net);
>        u8 opt;
>
>        if (asix_read_cmd(dev, AX_CMD_READ_MONITOR_MODE, 0, 0, 1, &opt) < 0) {
>                wolinfo->supported = 0;
>                wolinfo->wolopts = 0;
>                return;
>        }
>        wolinfo->supported = WAKE_PHY | WAKE_MAGIC;
>        wolinfo->wolopts = 0;
>        if (opt & AX_MONITOR_LINK)
>                wolinfo->wolopts |= WAKE_PHY;
>        if (opt & AX_MONITOR_MAGIC)
>                wolinfo->wolopts |= WAKE_MAGIC;
> }

This looks remarkably similar to the code Eugene said enables WOL for
him (and it works). I not able to find any difference.

If you believe it was a mistake to remove these four lines of code,
please submit a patch (See Documentation/SubmittingPatches)  to add
them back. You can add a "Tested-by: Eugene <[email-masked]>"
line after your own "Signed-off-by:" in the patch.

thanks!
grant