]> git.baikalelectronics.ru Git - kernel.git/commit
3c59x: fix regression from patch "Add ethtool WOL support"
authorJan Beulich <jbeulich@novell.com>
Mon, 27 Sep 2010 18:07:00 +0000 (11:07 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 27 Sep 2010 18:07:00 +0000 (11:07 -0700)
commitcbd2da9e54ce514bef30cc062b91bf578f4cba46
treeae2cc67aeea8939dc2bdc8546235c488cc1906f1
parent68ddb41c873d73f209c50bc00ea6f6ff42c2e85f
3c59x: fix regression from patch "Add ethtool WOL support"

This patch (commit 08db663a770ba99110a5f6261e458483911f5711) added a
new call site for acpi_set_WOL() without checking that the function is
actually suitable to be called via

 vortex_set_wol+0xcd/0xe0 [3c59x]
 dev_ethtool+0xa5a/0xb70
 dev_ioctl+0x2e0/0x4b0
 T.961+0x49/0x50
 sock_ioctl+0x47/0x290
 do_vfs_ioctl+0x7f/0x340
 sys_ioctl+0x80/0xa0
 system_call_fastpath+0x16/0x1b

i.e. outside of code paths run when the device is not yet enabled or
already disabled. In particular, putting the device into D3hot is a
pretty bad idea when it was already brought up.

Furthermore, all prior callers of the function made sure they're
actually dealing with a PCI device, while the newly added one didn't.

In the same spirit, the .get_wol handler shouldn't indicate support
for WOL for non-PCI devices.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/3c59x.c