Re: r8169 on n2100 (was Re: r8169 mac address change (was Re: [0/3] 2.6.19-rc2: known regressions))

From: Francois Romieu
Date: Sat Dec 16 2006 - 17:02:56 EST


Lennert Buytenhek <buytenh@xxxxxxxxxxxxxx> :
> On Sat, Dec 16, 2006 at 01:54:39AM +0100, Francois Romieu wrote:
[...]
> I'm thinking that the entire option is just wrong. It sucks for
> distributors to have to make the choice between having it always on
> and having it always off. It sucks for end users compiling their
> own kernels, because their ethernet won't work out of the box, and
> they will have no idea what's wrong and what to do.

I would have hoped that it was distributors's job to figure the details
of the configuration at run time from userspace when their package manager
updates the kernel. From there they can set whatever runtime option is
necessary in the configuration file of the modutils package.

However you are right that users may get screwed when they compile their
own kernel though. What about something like the patch below:

Date: Sat, 16 Dec 2006 22:36:06 +0100
Subject: [PATCH] r8169: Aunt Tillie got a Thecus N2100 for Xmas

She compiles kernel again. If only she had been offered an Internet
connexion and an introductory guide to Google too...

Signed-off-by: Francois Romieu <romieu@xxxxxxxxxxxxx>
---
drivers/net/Kconfig | 11 +++++++++++
drivers/net/r8169.c | 4 ++++
2 files changed, 15 insertions(+), 0 deletions(-)

diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
index 9de0eed..57432d9 100644
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
@@ -2085,6 +2085,17 @@ config R8169_VLAN

If in doubt, say Y.

+config R8169_SYSERR_DISABLE
+ bool "Disable reporting of the PCI SysErr"
+ depends on R8169 && ARCH_IOP32X
+ ---help---
+ Without this option, the driver reports a lot of PCI SysErr and
+ is completely unusable with the Thecus N2100. As an alternate
+ solution, you can use the 'ignore_parity_err' parameter of the
+ r8169 module to cure the problem at runtime.
+
+ If in doubt, say N.
+
config SIS190
tristate "SiS190/SiS191 gigabit ethernet support"
depends on PCI
diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c
index f83b41d..5e4149e 100644
--- a/drivers/net/r8169.c
+++ b/drivers/net/r8169.c
@@ -225,7 +225,11 @@ MODULE_DEVICE_TABLE(pci, rtl8169_pci_tbl

static int rx_copybreak = 200;
static int use_dac;
+#ifdef CONFIG_R8169_SYSERR_DISABLE
+static int ignore_parity_err = 1;
+#else
static int ignore_parity_err;
+#endif
static struct {
u32 msg_enable;
} debug = { -1 };
--
1.4.4.1

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/