Re: [regression] e1000e broke e1000

From: Bill Davidsen
Date: Wed Apr 09 2008 - 20:48:30 EST


Ingo Molnar wrote:
* Matthew Wilcox <matthew@xxxxxx> wrote:

On Tue, Apr 08, 2008 at 08:39:21PM +0200, Ingo Molnar wrote:
so the pure presence of the e1000e module breaks the e1000 driver. That is a regression and a bug that should be fixed.
I think you've found the wrong problem ... it looks deliberate to me that enabling e1000e disables e1000 from claiming the PCI IDs (see the PCIE() macro right before the e1000_pci_tbl in drivers/net/e1000/e1000_main.c).

The question is why e1000e isn't claiming the device ...

because i have e1000 built-in and dont load the e1000e module at all. That worked before and doesnt work now.

the solution is rather straightforward: if E1000 is built-in then E1000E should be built-in as well or disabled (i.e. it should not be possible to build it as a module in that case) - because the PCI ID stealing trick now connects the two drivers unconditionally. [ If e1000 is a module then e1000e can be a module (or disabled) - this would be the most common configuration. ]

And this would seem to break the most common means of testing a new driver for existing (and working!) hardware, which is to build both drivers as modules, install the new one, and if it appears to have problems either remove and insert the old driver by hand, or boot forcing the old driver.

I can't be the only person who tests kernels on machines I wouldn't use to build a kernel, and uses modprobe.conf to test new driver functionality.

--
Bill Davidsen <davidsen@xxxxxxx>
"We have more to fear from the bungling of the incompetent than from
the machinations of the wicked." - from Slashdot

--
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/