|
@@ -5729,8 +5729,11 @@ static void rtl_shutdown(struct pci_dev *pdev)
|
|
|
spin_unlock_irq(&tp->lock);
|
|
|
|
|
|
if (system_state == SYSTEM_POWER_OFF) {
|
|
|
- /* WoL fails with some 8168 when the receiver is disabled. */
|
|
|
- if (tp->features & RTL_FEATURE_WOL) {
|
|
|
+ /* WoL fails with 8168b when the receiver is disabled. */
|
|
|
+ if ((tp->mac_version == RTL_GIGA_MAC_VER_11 ||
|
|
|
+ tp->mac_version == RTL_GIGA_MAC_VER_12 ||
|
|
|
+ tp->mac_version == RTL_GIGA_MAC_VER_17) &&
|
|
|
+ (tp->features & RTL_FEATURE_WOL)) {
|
|
|
pci_clear_master(pdev);
|
|
|
|
|
|
RTL_W8(ChipCmd, CmdRxEnb);
|