From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
To: davem@davemloft.net
Cc: netdev@vger.kernel.org, gospo@redhat.com,
Bruce Allan <bruce.w.allan@intel.com>,
Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Subject: [net-next-2.6 PATCH 04/12] e1000e: s/w initiated LSC MSI-X interrupts not generated; no transmit
Date: Mon, 10 May 2010 18:00:10 -0700 [thread overview]
Message-ID: <20100511010008.30827.45897.stgit@localhost.localdomain> (raw)
In-Reply-To: <20100511005801.30827.50808.stgit@localhost.localdomain>
From: Bruce Allan <bruce.w.allan@intel.com>
In MSI-X mode when an IMPI SoL session was active (i.e. the PHY reset was
blocked), the LSC interrupt generated by s/w to start the watchdog which
started the transmitter was not getting fired by the hardware because bit
24 (the 'other' cause bit) also needed to be set. Without an active SoL
session, the PHY was reset which caused the h/w to fire the LSC interrupt.
Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/e1000e/netdev.c | 11 +++++++++--
1 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/drivers/net/e1000e/netdev.c b/drivers/net/e1000e/netdev.c
index 36473e6..16a03c5 100644
--- a/drivers/net/e1000e/netdev.c
+++ b/drivers/net/e1000e/netdev.c
@@ -3220,7 +3220,11 @@ int e1000e_up(struct e1000_adapter *adapter)
netif_wake_queue(adapter->netdev);
/* fire a link change interrupt to start the watchdog */
- ew32(ICS, E1000_ICS_LSC);
+ if (adapter->msix_entries)
+ ew32(ICS, E1000_ICS_LSC | E1000_ICR_OTHER);
+ else
+ ew32(ICS, E1000_ICS_LSC);
+
return 0;
}
@@ -3537,7 +3541,10 @@ static int e1000_open(struct net_device *netdev)
pm_runtime_put(&pdev->dev);
/* fire a link status change interrupt to start the watchdog */
- ew32(ICS, E1000_ICS_LSC);
+ if (adapter->msix_entries)
+ ew32(ICS, E1000_ICS_LSC | E1000_ICR_OTHER);
+ else
+ ew32(ICS, E1000_ICS_LSC);
return 0;
next prev parent reply other threads:[~2010-05-11 1:00 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-11 0:59 [net-next-2.6 PATCH 01/12] e1000e: use static params to save stack space (part 2) Jeff Kirsher
2010-05-11 0:59 ` [net-next-2.6 PATCH 02/12] e1000e: bad state after running ethtool diagnostics with AMT enabled Jeff Kirsher
2010-05-13 6:31 ` David Miller
2010-05-11 0:59 ` [net-next-2.6 PATCH 03/12] e1000e: initialize manageability (IPMI) pass-through in 82574/82583 Jeff Kirsher
2010-05-13 6:31 ` David Miller
2010-05-11 1:00 ` Jeff Kirsher [this message]
2010-05-13 6:32 ` [net-next-2.6 PATCH 04/12] e1000e: s/w initiated LSC MSI-X interrupts not generated; no transmit David Miller
2010-05-11 1:00 ` [net-next-2.6 PATCH 05/12] e1000e: cleanup multiple common exit points Jeff Kirsher
2010-05-13 6:32 ` David Miller
2010-05-11 1:00 ` [net-next-2.6 PATCH 06/12] e1000e: Remove EN_MAC_ADDR_FILTER check from enable_mng_pass_thru check Jeff Kirsher
2010-05-13 6:32 ` David Miller
2010-05-11 1:01 ` [net-next-2.6 PATCH 07/12] e1000e: Cleanup e1000_sw_lcd_config_ich8lan() Jeff Kirsher
2010-05-13 6:32 ` David Miller
2010-05-11 1:01 ` [net-next-2.6 PATCH 08/12] e1000e: Incorrect function pointer set for force_speed_duplex on 82577 Jeff Kirsher
2010-05-13 6:32 ` David Miller
2010-05-11 1:01 ` [net-next-2.6 PATCH 09/12] e1000e: fix checks for manageability enabled and management pass-through Jeff Kirsher
2010-05-13 6:32 ` David Miller
2010-05-11 1:02 ` [net-next-2.6 PATCH 10/12] e1000e: move settting of flow control refresh timer to link setup code Jeff Kirsher
2010-05-13 6:32 ` David Miller
2010-05-11 1:02 ` [net-next-2.6 PATCH 11/12] e1000e: Fix/cleanup PHY reset code for ICHx/PCHx Jeff Kirsher
2010-05-13 6:32 ` David Miller
2010-05-11 1:02 ` [net-next-2.6 PATCH 12/12] e1000e: add PCI device id to enable support for 82567V-4 Jeff Kirsher
2010-05-13 6:32 ` David Miller
2010-05-13 6:31 ` [net-next-2.6 PATCH 01/12] e1000e: use static params to save stack space (part 2) David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100511010008.30827.45897.stgit@localhost.localdomain \
--to=jeffrey.t.kirsher@intel.com \
--cc=bruce.w.allan@intel.com \
--cc=davem@davemloft.net \
--cc=gospo@redhat.com \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).