From 81e99e7f17f95148482117c3822a77b13b73a924 Mon Sep 17 00:00:00 2001 From: Andrew Morton <akpm@osdl.org> Date: Thu, 31 Jul 2003 19:55:36 -0700 Subject: [PATCH] [PATCH] 3c59x suspend/resume fix Currently, all of the 3c59x power management code is disabled unless the `enable_wol' module parameter is provided. This was done because the PM support was added quite late in the 2.4 cycle. It was always intended that this conditionality be removed in 2.5. --- Documentation/networking/vortex.txt | 13 ------------- drivers/net/3c59x.c | 21 ++++----------------- 2 files changed, 4 insertions(+), 30 deletions(-) diff --git a/Documentation/networking/vortex.txt b/Documentation/networking/vortex.txt index 511b4b9dca6b..6b4891225dbe 100644 --- a/Documentation/networking/vortex.txt +++ b/Documentation/networking/vortex.txt @@ -216,19 +216,6 @@ watchdog=N to increase this value on LANs which have very high collision rates. The default value is 5000 (5.0 seconds). -enable_wol=N1,N2,N3,... - - Enable Wake-on-LAN support for the relevant interface. Donald - Becker's `ether-wake' application may be used to wake suspended - machines. - - Also enables the NIC's power management support. - -global_enable_wol=N - - Sets enable_wol mode for all 3c59x NICs in the machine. Entries in - the `enable_wol' array above will override any setting of this. - Media selection --------------- diff --git a/drivers/net/3c59x.c b/drivers/net/3c59x.c index 6ac7c7c6418c..a5ee00775098 100644 --- a/drivers/net/3c59x.c +++ b/drivers/net/3c59x.c @@ -291,8 +291,6 @@ MODULE_PARM(global_full_duplex, "i"); MODULE_PARM(full_duplex, "1-" __MODULE_STRING(8) "i"); MODULE_PARM(hw_checksums, "1-" __MODULE_STRING(8) "i"); MODULE_PARM(flow_ctrl, "1-" __MODULE_STRING(8) "i"); -MODULE_PARM(global_enable_wol, "i"); -MODULE_PARM(enable_wol, "1-" __MODULE_STRING(8) "i"); MODULE_PARM(rx_copybreak, "i"); MODULE_PARM(max_interrupt_work, "i"); MODULE_PARM(compaq_ioaddr, "i"); @@ -306,8 +304,6 @@ MODULE_PARM_DESC(full_duplex, "3c59x full duplex setting(s) (1)"); MODULE_PARM_DESC(global_full_duplex, "3c59x: same as full_duplex, but applies to all NICs if options is unset"); MODULE_PARM_DESC(hw_checksums, "3c59x Hardware checksum checking by adapter(s) (0-1)"); MODULE_PARM_DESC(flow_ctrl, "3c59x 802.3x flow control usage (PAUSE only) (0-1)"); -MODULE_PARM_DESC(enable_wol, "3c59x: Turn on Wake-on-LAN for adapter(s) (0-1)"); -MODULE_PARM_DESC(global_enable_wol, "3c59x: same as enable_wol, but applies to all NICs if options is unset"); MODULE_PARM_DESC(rx_copybreak, "3c59x copy breakpoint for copy-only-tiny-frames"); MODULE_PARM_DESC(max_interrupt_work, "3c59x maximum events handled per interrupt"); MODULE_PARM_DESC(compaq_ioaddr, "3c59x PCI I/O base address (Compaq BIOS problem workaround)"); @@ -819,7 +815,6 @@ struct vortex_private { flow_ctrl:1, /* Use 802.3x flow control (PAUSE only) */ partner_flow_ctrl:1, /* Partner supports flow control */ has_nway:1, - enable_wol:1, /* Wake-on-LAN is enabled */ pm_state_valid:1, /* power_state[] has sane contents */ open:1, medialock:1, @@ -915,10 +910,8 @@ static int options[MAX_UNITS] = { -1, -1, -1, -1, -1, -1, -1, -1,}; static int full_duplex[MAX_UNITS] = {-1, -1, -1, -1, -1, -1, -1, -1}; static int hw_checksums[MAX_UNITS] = {-1, -1, -1, -1, -1, -1, -1, -1}; static int flow_ctrl[MAX_UNITS] = {-1, -1, -1, -1, -1, -1, -1, -1}; -static int enable_wol[MAX_UNITS] = {-1, -1, -1, -1, -1, -1, -1, -1}; static int global_options = -1; static int global_full_duplex = -1; -static int global_enable_wol = -1; /* #define dev_alloc_skb dev_alloc_skb_debug */ @@ -1138,8 +1131,6 @@ static int __devinit vortex_probe1(struct device *gendev, vortex_debug = 7; if (option & 0x4000) vortex_debug = 2; - if (option & 0x0400) - vp->enable_wol = 1; } print_info = (vortex_debug > 1); @@ -1227,16 +1218,12 @@ static int __devinit vortex_probe1(struct device *gendev, if (global_full_duplex > 0) vp->full_duplex = 1; - if (global_enable_wol > 0) - vp->enable_wol = 1; if (card_idx < MAX_UNITS) { if (full_duplex[card_idx] > 0) vp->full_duplex = 1; if (flow_ctrl[card_idx] > 0) vp->flow_ctrl = 1; - if (enable_wol[card_idx] > 0) - vp->enable_wol = 1; } vp->force_fd = vp->full_duplex; @@ -1463,7 +1450,7 @@ static int __devinit vortex_probe1(struct device *gendev, dev->set_multicast_list = set_rx_mode; dev->tx_timeout = vortex_tx_timeout; dev->watchdog_timeo = (watchdog * HZ) / 1000; - if (pdev && vp->enable_wol) { + if (pdev) { vp->pm_state_valid = 1; pci_save_state(VORTEX_PCI(vp), vp->power_state); acpi_set_WOL(dev); @@ -1520,7 +1507,7 @@ vortex_up(struct net_device *dev) unsigned int config; int i; - if (VORTEX_PCI(vp) && vp->enable_wol) { + if (VORTEX_PCI(vp)) { pci_set_power_state(VORTEX_PCI(vp), 0); /* Go active */ pci_restore_state(VORTEX_PCI(vp), vp->power_state); } @@ -2669,7 +2656,7 @@ vortex_down(struct net_device *dev) if (vp->full_bus_master_tx) outl(0, ioaddr + DownListPtr); - if (VORTEX_PCI(vp) && vp->enable_wol) { + if (VORTEX_PCI(vp)) { pci_save_state(VORTEX_PCI(vp), vp->power_state); acpi_set_WOL(dev); } @@ -3059,7 +3046,7 @@ static void __devexit vortex_remove_one (struct pci_dev *pdev) /* Should really use issue_and_wait() here */ outw(TotalReset|0x14, dev->base_addr + EL3_CMD); - if (VORTEX_PCI(vp) && vp->enable_wol) { + if (VORTEX_PCI(vp)) { pci_set_power_state(VORTEX_PCI(vp), 0); /* Go active */ if (vp->pm_state_valid) pci_restore_state(VORTEX_PCI(vp), vp->power_state); -- 2.30.9