[glsdk/meta-ti-glsdk.git] / recipes-kernel / linux / linux-ti33x-psp-3.2 / 3.2.28 / 0013-e1000-add-dropped-DMA-receive-enable-back-in-for-WoL.patch
1 From a434024fe4e85366698b867be432dfd3dc2f70c1 Mon Sep 17 00:00:00 2001
2 From: Dean Nelson <dnelson@redhat.com>
3 Date: Thu, 19 Jan 2012 17:47:24 +0000
4 Subject: [PATCH 13/38] e1000: add dropped DMA receive enable back in for WoL
6 commit b868179c47e9e8eadcd04c1f3105998e528988a3 upstream.
8 Commit d5bc77a223b0e9b9dfb002048d2b34a79e7d0b48 broke Wake-on-LAN by
9 inadvertently dropping the enabling of DMA receives.
11 Restore the enabling of DMA receives for WoL.
13 This is applicable to 3.1+ stable trees.
15 Reported-by: Tobias Klausmann <klausman@schwarzvogel.de>
16 Signed-off-by: Dean Nelson <dnelson@redhat.com>
17 Tested-by: Tobias Klausmann <klausman@schwarzvogel.de>
18 Tested-by: Aaron Brown <aaron.f.brown@intel.com>
19 Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
20 Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
21 ---
22 drivers/net/ethernet/intel/e1000/e1000_main.c | 10 ++++++----
23 1 files changed, 6 insertions(+), 4 deletions(-)
25 diff --git a/drivers/net/ethernet/intel/e1000/e1000_main.c b/drivers/net/ethernet/intel/e1000/e1000_main.c
26 index de00805..0549261 100644
27 --- a/drivers/net/ethernet/intel/e1000/e1000_main.c
28 +++ b/drivers/net/ethernet/intel/e1000/e1000_main.c
29 @@ -4743,12 +4743,14 @@ static int __e1000_shutdown(struct pci_dev *pdev, bool *enable_wake)
30 e1000_setup_rctl(adapter);
31 e1000_set_rx_mode(netdev);
33 + rctl = er32(RCTL);
34 +
35 /* turn on all-multi mode if wake on multicast is enabled */
36 - if (wufc & E1000_WUFC_MC) {
37 - rctl = er32(RCTL);
38 + if (wufc & E1000_WUFC_MC)
39 rctl |= E1000_RCTL_MPE;
40 - ew32(RCTL, rctl);
41 - }
42 +
43 + /* enable receives in the hardware */
44 + ew32(RCTL, rctl | E1000_RCTL_EN);
46 if (hw->mac_type >= e1000_82540) {
47 ctrl = er32(CTRL);
48 --
49 1.7.7.6