]> git.proxmox.com Git - mirror_ubuntu-kernels.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)
commit3fd6c88ef875a14740801ebfc6b6e4e064a1cdd4
treeae2cc67aeea8939dc2bdc8546235c488cc1906f1
parent2cc6d2bf3d6195fabcf0febc192c01f99519a8f3
3c59x: fix regression from patch "Add ethtool WOL support"

This patch (commit 690a1f2002a3091bd18a501f46c9530f10481463) 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