The Linux Kernel Mailing List
 help / color / mirror / Atom feed
From: Francois Romieu <romieu@fr.zoreil.com>
To: Martin Michlmayr <tbm@cyrius.com>
Cc: Lennert Buytenhek <buytenh@wantstofly.org>,
	Riku Voipio <riku.voipio@iki.fi>,
	linux-kernel@vger.kernel.org
Subject: r8169 on n2100 (was Re: r8169 mac address change (was Re: [0/3] 2.6.19-rc2: known regressions))
Date: Thu, 23 Nov 2006 00:16:56 +0100	[thread overview]
Message-ID: <20061122231656.GA9991@electric-eye.fr.zoreil.com> (raw)
In-Reply-To: <20061121204527.GA13549@electric-eye.fr.zoreil.com>

Francois Romieu <romieu@fr.zoreil.com> :
[scrouitch]

You can apply the patch below and 'modprobe r8169 ignore_parity_err=1'.

It apparently does the job and it is not much too intrusive.

diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c
index 27f90b2..2b8c057 100644
--- a/drivers/net/r8169.c
+++ b/drivers/net/r8169.c
@@ -225,6 +225,7 @@ MODULE_DEVICE_TABLE(pci, rtl8169_pci_tbl
 
 static int rx_copybreak = 200;
 static int use_dac;
+static int ignore_parity_err;
 static struct {
 	u32 msg_enable;
 } debug = { -1 };
@@ -469,6 +470,8 @@ module_param(use_dac, int, 0);
 MODULE_PARM_DESC(use_dac, "Enable PCI DAC. Unsafe on 32 bit PCI slot.");
 module_param_named(debug, debug.msg_enable, int, 0);
 MODULE_PARM_DESC(debug, "Debug verbosity level (0=none, ..., 16=all)");
+module_param_named(ignore_parity_err, ignore_parity_err, bool, 0);
+MODULE_PARM_DESC(ignore_parity_err, "Ignore PCI parity error as target. Default: false");
 MODULE_LICENSE("GPL");
 MODULE_VERSION(RTL8169_VERSION);
 
@@ -2332,12 +2335,17 @@ static void rtl8169_pcierr_interrupt(str
 	/*
 	 * The recovery sequence below admits a very elaborated explanation:
 	 * - it seems to work;
-	 * - I did not see what else could be done.
+	 * - I did not see what else could be done;
+	 * - it makes iop3xx happy.
 	 *
 	 * Feel free to adjust to your needs.
 	 */
-	pci_write_config_word(pdev, PCI_COMMAND,
-			      pci_cmd | PCI_COMMAND_SERR | PCI_COMMAND_PARITY);
+	if (ignore_parity_err)
+		pci_cmd &= ~PCI_COMMAND_PARITY;
+	else
+		pci_cmd |= PCI_COMMAND_SERR | PCI_COMMAND_PARITY;
+
+	pci_write_config_word(pdev, PCI_COMMAND, pci_cmd);
 
 	pci_write_config_word(pdev, PCI_STATUS,
 		pci_status & (PCI_STATUS_DETECTED_PARITY |
@@ -2351,10 +2359,11 @@ static void rtl8169_pcierr_interrupt(str
 		tp->cp_cmd &= ~PCIDAC;
 		RTL_W16(CPlusCmd, tp->cp_cmd);
 		dev->features &= ~NETIF_F_HIGHDMA;
-		rtl8169_schedule_work(dev, rtl8169_reinit_task);
 	}
 
 	rtl8169_hw_reset(ioaddr);
+
+	rtl8169_schedule_work(dev, rtl8169_reinit_task);
 }
 
 static void

  reply	other threads:[~2006-11-22 23:17 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20061107115940.GA23954@unjust.cyrius.com>
2006-11-08 20:35 ` r8169 mac address change (was Re: [0/3] 2.6.19-rc2: known regressions)] Riku Voipio
2006-11-09 22:13   ` Francois Romieu
2006-11-09 23:14     ` Lennert Buytenhek
2006-11-10 18:59       ` Francois Romieu
2006-11-21 10:24         ` Martin Michlmayr
2006-11-21 20:45           ` Francois Romieu
2006-11-22 23:16             ` Francois Romieu [this message]
2006-11-25 14:52               ` r8169 on n2100 (was Re: r8169 mac address change (was Re: [0/3] 2.6.19-rc2: known regressions)) Martin Michlmayr
2006-11-25 16:02                 ` Francois Romieu
2006-12-15 13:27               ` Lennert Buytenhek
2006-12-15 20:15                 ` Francois Romieu
2006-12-15 21:03                   ` Lennert Buytenhek
2006-12-15 21:14                     ` Russell King
2006-12-16 23:09                       ` Lennert Buytenhek
2006-12-16 23:31                         ` Francois Romieu
2006-12-16 23:52                           ` Lennert Buytenhek
     [not found]                             ` <20061217195635.GA10181@kos.to>
2006-12-17 19:28                             ` Martin Michlmayr
2006-12-17 21:02                               ` Riku Voipio
2006-12-17 21:13                                 ` Lennert Buytenhek
2006-12-17 21:40                                   ` Riku Voipio
2006-12-17 21:48                                   ` Francois Romieu
2006-12-17 22:10                                     ` Martin Michlmayr
2006-12-16  0:54                     ` Francois Romieu
2006-12-16  2:09                       ` Lennert Buytenhek
2006-12-16 21:58                         ` Francois Romieu

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=20061122231656.GA9991@electric-eye.fr.zoreil.com \
    --to=romieu@fr.zoreil.com \
    --cc=buytenh@wantstofly.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=riku.voipio@iki.fi \
    --cc=tbm@cyrius.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