lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <000c01ccc098$6b6c6690$424533b0$@com.tw>
Date:	Thu, 22 Dec 2011 18:56:54 +0800
From:	"ASIX Allan Email [office]" <allan@...x.com.tw>
To:	<davem@...emloft.net>
Cc:	<netdev@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
	"'Freddy Xin'" <freddy@...x.com.tw>,
	"'Grant Grundler'" <grundler@...omium.org>,
	"'Eugene'" <elubarsky@...il.com>,
	"'ASIX Louis [蘇威陸]'" 
	<louis@...x.com.tw>
Subject: [PATCH] drivers/net/usb/asix: fixed asix_get_wol reported wrong wol status issue

Dear David,

This is my first time to submit the driver patch onto Linux kernel mainline source. Please correct me if anything is wrong on my submission way or email format. Thanks a lot for your great helps.  

========
Fixed the asix_get_wol() routine reported wrong wol status issue. 
This fix had been verified on x86 Linux kernel 3.0.0-12-generic system with AX88772A/AX88772/Belkin AX88178 USB dongles, and the wol function works fine (can be waked up by receiving the magic packets). 

Signed-off-by: Allan Chou <allan@...x.com.tw>
Tested-by: Allan Chou <allan@...x.com.tw>
---
diff --uprN a/drivers/net/usb/asix.c b/drivers/net/usb/asix.c
--- a/drivers/net/usb/asix.c	2011-12-15 14:01:49.000000000 +0800
+++ b/drivers/net/usb/asix.c	2011-12-22 18:20:39.000000000 +0800
@@ -36,7 +36,7 @@
 #include <linux/usb/usbnet.h>
 #include <linux/slab.h>
 
-#define DRIVER_VERSION "08-Nov-2011"
+#define DRIVER_VERSION "22-Dec-2011"
 #define DRIVER_NAME "asix"
 
 /* ASIX AX8817X based USB 2.0 Ethernet Devices */
@@ -689,6 +689,10 @@ asix_get_wol(struct net_device *net, str
 	}
 	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;
 }
 
 static int


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


-----Original Message-----
From: allan [mailto:allan@...x.com.tw] 
Sent: Saturday, December 17, 2011 10:36 AM
To: 'Grant Grundler'
Cc: 'Eugene'; 'netdev@...r.kernel.org'; 'Freddy Xin'; 'ASIX Louis [蘇威陸]'
Subject: RE: drivers/net/usb/asix: bug in asix_get_wol

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: allan@...x.com.tw 
http://www.asix.com.tw/ 

-----Original Message-----
From: grundler@...gle.com [mailto:grundler@...gle.com] On Behalf Of Grant Grundler
Sent: Saturday, December 17, 2011 6:16 AM
To: ASIX Allan Email [office]
Cc: Eugene; netdev@...r.kernel.org; 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]
<allan@...x.com.tw> wrote:
> Resend without attachment due to below email server error.
...
> -----Original Message-----
> From: ASIX Allan Email [office] [mailto:allan@...x.com.tw]
> Sent: Friday, December 16, 2011 11:38 AM
> To: 'Grant Grundler'; 'Eugene'
> Cc: 'netdev@...r.kernel.org'; '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 <elubarsky@...il.com>"
line after your own "Signed-off-by:" in the patch.

thanks!
grant


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ