Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 82776a4b authored by Bruce Allan's avatar Bruce Allan Committed by David S. Miller
Browse files

e1000e: WoL does not work on 82577/82578 with manageability enabled



With manageability (Intel AMT) enabled via BIOS, PHY wakeup does not get
configured on newer parts which use PHY wakeup vs. MAC wakeup which causes
WoL to not work.  The driver should configure PHY wakeup whether or not
manageability is enabled.

Signed-off-by: default avatarBruce Allan <bruce.w.allan@intel.com>
Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 7fc1ece4
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -4538,8 +4538,7 @@ static int __e1000_shutdown(struct pci_dev *pdev, bool *enable_wake)
		/* Allow time for pending master requests to run */
		e1000e_disable_pcie_master(&adapter->hw);

		if ((adapter->flags2 & FLAG2_HAS_PHY_WAKEUP) &&
		    !(hw->mac.ops.check_mng_mode(hw))) {
		if (adapter->flags2 & FLAG2_HAS_PHY_WAKEUP) {
			/* enable wakeup by the PHY */
			retval = e1000_init_phy_wakeup(adapter, wufc);
			if (retval)
@@ -4557,7 +4556,8 @@ static int __e1000_shutdown(struct pci_dev *pdev, bool *enable_wake)
	*enable_wake = !!wufc;

	/* make sure adapter isn't asleep if manageability is enabled */
	if (adapter->flags & FLAG_MNG_PT_ENABLED)
	if ((adapter->flags & FLAG_MNG_PT_ENABLED) ||
	    (hw->mac.ops.check_mng_mode(hw)))
		*enable_wake = true;

	if (adapter->hw.phy.type == e1000_phy_igp_3)