Subject: Re: [PATCH 09/26] e1000: unify WoL capability detection code

From: Auke Kok <[email-masked]>
Date: Tue, 29 Aug 2006 14:54:51 -0700

Jeff Garzik wrote:
> Kok, Auke wrote:
>> WoL is constantly giving problems and needed a rewrite. Consolidates
>> all WoL capabilities into a single function, and disables WoL for all
>> other ports on the device except for port A.
> 
> Is this a behavior change that affects users in the field?
> 
> i.e. if they are using WoL via port B, and upgrade to this driver, their 
> setup suddenly breaks, right?

it's rather the other way around:

The problem is that the adapters involved (dual- and quad- port NIC adapters, 
not the dual port onboard adapters) have known issues (as in: wol does not 
work) with WoL on port b, c, d. Formerly the code was trying to enable WoL on 
ports that were not capable of doing so (82546, 82571). This fix explicitly 
still allows the properly working (as in: wol works correctly on port b) 
dual-port adapters that have WoL enabled for port b in the EEPROM enabled to 
function with WoL on those ports (i.e. most adapters).

The users who have those boards should have noticed that their adapter didn't 
function with WoL on those ports. This all comes back to a hardware errata that 
has been out here for a while. This patch brings the code up to spec with that. 
Now users will see that WoL will not work on those ports if they attempt to 
enable it, where previously it was enabled in software but didn't do anything.
We make sure to return -EOPNOTSUPP through ethtool as well for all cases.

Cheers

Auke