linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Michael Buesch <mb@bu3sch.de>
To: David Dillow <dave@thedillows.org>
Cc: "Michael Riepe" <michael.riepe@googlemail.com>,
	"Francois Romieu" <romieu@fr.zoreil.com>,
	"Rui Santos" <rsantos@grupopie.com>,
	"Michael Büker" <m.bueker@berlin.de>,
	linux-kernel@vger.kernel.org, netdev@vger.kernel.org
Subject: Re: 2.6.27.19 + 28.7: network timeouts for r8169 and 8139too
Date: Mon, 11 May 2009 23:10:08 +0200	[thread overview]
Message-ID: <200905112310.08534.mb@bu3sch.de> (raw)
In-Reply-To: <200905112248.44868.mb@bu3sch.de>

On Monday 11 May 2009 22:48:44 Michael Buesch wrote:
> On Monday 11 May 2009 02:29:14 David Dillow wrote:
> > > Kernel: 2.6.29.2 (x86_64)
> > > Board: Intel D945GCLF2
> > > BIOS version: LF94510J.86A.0099.2008.0731.0303
> > 
> > I'm not sure this is tied to the chip. 
> 
> Yeah maybe other chips are affected as well.
> I just want to note that my failing chip/board is an Intel D945GCLF2 board
> with onboard G-LAN, too.
> 
> The device XID is: XID 3c4000c0
> (see kernel log)
> 
> Somebody else (I think it was Rui Santos) already reported a failing chip with that XID, too.
> 

Here's a patch which blacklists MSI support by XID.
It's currently only compile-tested, because I can't reboot the machine right now.

Signed-off-by: Michael Buesch <mb@bu3sch.de>

Index: linux-2.6.29/drivers/net/r8169.c
===================================================================
--- linux-2.6.29.orig/drivers/net/r8169.c	2009-05-11 23:00:12.000000000 +0200
+++ linux-2.6.29/drivers/net/r8169.c	2009-05-11 23:07:32.000000000 +0200
@@ -1917,14 +1917,26 @@
 
 /* Cfg9346_Unlock assumed. */
 static unsigned rtl_try_msi(struct pci_dev *pdev, void __iomem *ioaddr,
-			    const struct rtl_cfg_info *cfg)
+			    const struct rtl_cfg_info *cfg, u32 xid)
 {
-	unsigned msi = 0;
+	unsigned i, blacklisted = 0, msi = 0;
 	u8 cfg2;
 
+	static const u32 xid_blacklist[] = {
+		/* Blacklisted devices with (currently) broken MSI support.
+		 * Devices are identified by XID. */
+		0x3c4000c0,
+	};
+
 	cfg2 = RTL_R8(Config2) & ~MSIEnable;
+	for (i = 0; i < ARRAY_SIZE(xid_blacklist); i++) {
+		if (xid == xid_blacklist[i])
+			blacklisted = 1;
+	}
 	if (cfg->features & RTL_FEATURE_MSI) {
-		if (pci_enable_msi(pdev)) {
+		if (blacklisted) {
+			dev_info(&pdev->dev, "MSI blacklisted. Back to INTx.\n");
+		} else if (pci_enable_msi(pdev)) {
 			dev_info(&pdev->dev, "no MSI. Back to INTx.\n");
 		} else {
 			cfg2 |= MSIEnable;
@@ -1974,6 +1986,7 @@
 	void __iomem *ioaddr;
 	unsigned int i;
 	int rc;
+	u32 xid;
 
 	if (netif_msg_drv(&debug)) {
 		printk(KERN_INFO "%s Gigabit Ethernet driver %s loaded\n",
@@ -2109,6 +2122,7 @@
 	}
 	tp->chipset = i;
 
+	xid = RTL_R32(TxConfig) & 0x7cf0f8ff;
 	RTL_W8(Cfg9346, Cfg9346_Unlock);
 	RTL_W8(Config1, RTL_R8(Config1) | PMEnable);
 	RTL_W8(Config5, RTL_R8(Config5) & PMEStatus);
@@ -2116,7 +2130,7 @@
 		tp->features |= RTL_FEATURE_WOL;
 	if ((RTL_R8(Config5) & (UWF | BWF | MWF)) != 0)
 		tp->features |= RTL_FEATURE_WOL;
-	tp->features |= rtl_try_msi(pdev, ioaddr, cfg);
+	tp->features |= rtl_try_msi(pdev, ioaddr, cfg, xid);
 	RTL_W8(Cfg9346, Cfg9346_Lock);
 
 	if ((tp->mac_version <= RTL_GIGA_MAC_VER_06) &&
@@ -2175,8 +2189,6 @@
 	pci_set_drvdata(pdev, dev);
 
 	if (netif_msg_probe(tp)) {
-		u32 xid = RTL_R32(TxConfig) & 0x7cf0f8ff;
-
 		printk(KERN_INFO "%s: %s at 0x%lx, "
 		       "%2.2x:%2.2x:%2.2x:%2.2x:%2.2x:%2.2x, "
 		       "XID %08x IRQ %d\n",


-- 
Greetings, Michael.

  reply	other threads:[~2009-05-11 21:12 UTC|newest]

Thread overview: 106+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-04 17:28 2.6.27.19 + 28.7: network timeouts for r8169 and 8139too Michael Büker
2009-03-04 22:43 ` Francois Romieu
2009-03-06  0:17   ` Michael Büker
2009-03-08 10:27   ` Tom Weber
2009-03-10  5:42     ` Tom Weber
2009-03-09 12:07   ` Rui Santos
2009-03-13 18:29     ` Rui Santos
2009-03-16 13:07     ` Rui Santos
2009-03-22 21:12       ` Francois Romieu
2009-03-22 21:19         ` Michael Buesch
2009-03-22 22:00           ` Francois Romieu
2009-03-22 22:09             ` Michael Buesch
2009-03-22 22:27               ` Francois Romieu
2009-03-22 22:38                 ` Michael Buesch
2009-03-23 11:47         ` Michael Buesch
2009-03-23 12:47           ` Michael Buesch
2009-03-23 23:47             ` Francois Romieu
2009-03-24  9:43               ` Michael Buesch
2009-03-23 14:29         ` Michael Büker
2009-03-23 14:57           ` Rui Santos
2009-03-23 15:04             ` Michael Büker
2009-03-25 11:40         ` Rui Santos
2009-04-04 17:50           ` Michael Buesch
2009-05-10 13:38             ` Michael Riepe
2009-05-10 15:01               ` Michael S. Zick
2009-05-10 15:10                 ` Michael S. Zick
2009-05-10 15:53               ` Michael Buesch
2009-05-10 16:27                 ` Michael Riepe
2009-05-10 17:09                   ` Michael S. Zick
2009-05-11  0:29               ` David Dillow
2009-05-11 20:48                 ` Michael Buesch
2009-05-11 21:10                   ` Michael Buesch [this message]
2009-05-11 21:29                     ` David Dillow
2009-05-11 21:59                       ` Michael Buesch
2009-05-12 20:29                       ` Michael Riepe
2009-05-14  2:38                         ` David Dillow
2009-05-14 18:37                           ` Michael Riepe
2009-05-14 19:14                             ` David Dillow
2009-05-14 19:42                               ` Michael Riepe
2009-05-23  1:29                                 ` [PATCH 2.6.30-rc4] r8169: avoid losing MSI interrupts David Dillow
2009-05-23  9:24                                   ` Michael Buesch
2009-05-23 14:35                                     ` Michael Riepe
2009-05-23 14:44                                       ` Michael Buesch
2009-05-23 15:01                                         ` Michael Riepe
2009-05-23 16:40                                           ` Michael Buesch
2009-05-23 14:51                                       ` David Dillow
2009-05-23 16:12                                         ` Michael Riepe
2009-05-23 16:45                                           ` Michael Buesch
2009-05-23 16:46                                           ` David Dillow
2009-05-23 16:50                                             ` Michael Buesch
2009-05-23 16:53                                             ` Michael Riepe
2009-05-23 17:03                                               ` David Dillow
2009-05-24 21:15                                   ` Francois Romieu
2009-05-24 22:55                                     ` David Dillow
2009-05-26  5:55                                   ` David Miller
2009-05-26 18:22                                     ` Michael Buesch
2009-05-26 21:52                                       ` David Miller
2009-05-26 22:14                                         ` David Miller
2009-05-26 22:40                                           ` Michael Riepe
2009-05-26 22:43                                             ` David Miller
2009-05-26 23:10                                               ` David Miller
2009-05-27 16:19                                           ` Michael Buesch
2009-06-16 19:32                                           ` Rui Santos
2009-08-21 20:57                                   ` Eric W. Biederman
2009-08-21 21:22                                     ` Michael Riepe
2009-08-21 22:59                                     ` David Dillow
2009-08-21 23:34                                       ` David Dillow
2009-08-22  0:24                                         ` Eric W. Biederman
2009-08-22 11:48                                         ` Eric W. Biederman
2009-08-22 12:07                                           ` Eric W. Biederman
2009-08-22 20:43                                             ` David Dillow
2009-08-23 17:17                                               ` Jarek Poplawski
2009-08-23 17:43                                                 ` Michal Soltys
2009-08-23 17:54                                                   ` Jarek Poplawski
2009-08-24  2:37                                               ` Eric W. Biederman
2009-08-25  0:51                                               ` Eric W. Biederman
2009-08-25  2:59                                                 ` David Dillow
2009-08-25 20:22                                                   ` Eric W. Biederman
2009-08-25 20:40                                                     ` David Dillow
2009-08-25 21:24                                                       ` Eric W. Biederman
2009-08-25 21:46                                                         ` David Dillow
2009-08-25 22:19                                                         ` Francois Romieu
2009-08-26  3:47                                                           ` Eric W. Biederman
2009-08-26  7:58                                                           ` [PATCH] r8169: Reduce looping in the interrupt handler Eric W. Biederman
2009-08-26 13:56                                                             ` David Dillow
2009-08-26 13:59                                                               ` David Dillow
2009-08-26 20:02                                                                 ` Eric W. Biederman
2009-08-26 21:30                                                                   ` Francois Romieu
2009-08-26 21:40                                                                     ` Eric W. Biederman
2009-08-27  5:24                                                                       ` Francois Romieu
2009-08-27  5:38                                                                         ` Eric W. Biederman
2009-08-27 23:20                                                                           ` Francois Romieu
2009-08-28  1:17                                                                             ` Eric W. Biederman
2009-08-28  1:29                                                                               ` David Dillow
2009-08-30 20:37                                                                                 ` Francois Romieu
2009-08-30 20:53                                                                                   ` Eric W. Biederman
2009-09-01  3:33                                                                                     ` David Dillow
2009-09-01  9:20                                                                                       ` Francois Romieu
2009-08-25 21:37                                                   ` [PATCH 2.6.30-rc4] r8169: avoid losing MSI interrupts Eric W. Biederman
2009-08-25 21:54                                                     ` David Dillow
2009-08-25 23:11                                                       ` Francois Romieu
2009-05-12 11:10                   ` 2.6.27.19 + 28.7: network timeouts for r8169 and 8139too Krzysztof Halasa
2009-05-12 21:45                     ` Michael Riepe
2009-05-13  6:11                       ` Francois Romieu
2009-05-13  6:27                         ` Michael Riepe
2009-05-13 19:34                       ` Krzysztof Halasa

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=200905112310.08534.mb@bu3sch.de \
    --to=mb@bu3sch.de \
    --cc=dave@thedillows.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=m.bueker@berlin.de \
    --cc=michael.riepe@googlemail.com \
    --cc=netdev@vger.kernel.org \
    --cc=romieu@fr.zoreil.com \
    --cc=rsantos@grupopie.com \
    /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).