diff options
Diffstat (limited to 'drivers/net/ethernet/intel/e1000/e1000_main.c')
-rw-r--r-- | drivers/net/ethernet/intel/e1000/e1000_main.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/net/ethernet/intel/e1000/e1000_main.c b/drivers/net/ethernet/intel/e1000/e1000_main.c index 669ca3800c01..d94d64b5d695 100644 --- a/drivers/net/ethernet/intel/e1000/e1000_main.c +++ b/drivers/net/ethernet/intel/e1000/e1000_main.c | |||
@@ -4740,12 +4740,14 @@ static int __e1000_shutdown(struct pci_dev *pdev, bool *enable_wake) | |||
4740 | e1000_setup_rctl(adapter); | 4740 | e1000_setup_rctl(adapter); |
4741 | e1000_set_rx_mode(netdev); | 4741 | e1000_set_rx_mode(netdev); |
4742 | 4742 | ||
4743 | rctl = er32(RCTL); | ||
4744 | |||
4743 | /* turn on all-multi mode if wake on multicast is enabled */ | 4745 | /* turn on all-multi mode if wake on multicast is enabled */ |
4744 | if (wufc & E1000_WUFC_MC) { | 4746 | if (wufc & E1000_WUFC_MC) |
4745 | rctl = er32(RCTL); | ||
4746 | rctl |= E1000_RCTL_MPE; | 4747 | rctl |= E1000_RCTL_MPE; |
4747 | ew32(RCTL, rctl); | 4748 | |
4748 | } | 4749 | /* enable receives in the hardware */ |
4750 | ew32(RCTL, rctl | E1000_RCTL_EN); | ||
4749 | 4751 | ||
4750 | if (hw->mac_type >= e1000_82540) { | 4752 | if (hw->mac_type >= e1000_82540) { |
4751 | ctrl = er32(CTRL); | 4753 | ctrl = er32(CTRL); |