Commit 540a152d authored by Todd Fujinaka's avatar Todd Fujinaka Committed by Jeff Kirsher
Browse files

i40e/ixgbe/igb: fail on new WoL flag setting WAKE_MAGICSECURE



There's a new flag for setting WoL filters that is only
enabled on one manufacturer's NICs, and it's not ours. Fail
with EOPNOTSUPP.

Signed-off-by: default avatarTodd Fujinaka <todd.fujinaka@intel.com>
Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
parent a9e51058
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -2377,7 +2377,8 @@ static int i40e_set_wol(struct net_device *netdev, struct ethtool_wolinfo *wol)
		return -EOPNOTSUPP;

	/* only magic packet is supported */
	if (wol->wolopts && (wol->wolopts != WAKE_MAGIC))
	if (wol->wolopts && (wol->wolopts != WAKE_MAGIC)
			  | (wol->wolopts != WAKE_FILTER))
		return -EOPNOTSUPP;

	/* is this a new value? */
+1 −1
Original line number Diff line number Diff line
@@ -2113,7 +2113,7 @@ static int igb_set_wol(struct net_device *netdev, struct ethtool_wolinfo *wol)
{
	struct igb_adapter *adapter = netdev_priv(netdev);

	if (wol->wolopts & (WAKE_ARP | WAKE_MAGICSECURE))
	if (wol->wolopts & (WAKE_ARP | WAKE_MAGICSECURE | WAKE_FILTER))
		return -EOPNOTSUPP;

	if (!(adapter->flags & IGB_FLAG_WOL_SUPPORTED))
+2 −1
Original line number Diff line number Diff line
@@ -2206,7 +2206,8 @@ static int ixgbe_set_wol(struct net_device *netdev, struct ethtool_wolinfo *wol)
{
	struct ixgbe_adapter *adapter = netdev_priv(netdev);

	if (wol->wolopts & (WAKE_PHY | WAKE_ARP | WAKE_MAGICSECURE))
	if (wol->wolopts & (WAKE_PHY | WAKE_ARP | WAKE_MAGICSECURE |
			    WAKE_FILTER))
		return -EOPNOTSUPP;

	if (ixgbe_wol_exclusion(adapter, wol))