Re: [regression] e1000e broke e1000
From: Jeff Garzik
Date: Tue Apr 08 2008 - 15:57:22 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. ]
Then disable E1000E in your kernel config, and the PCIE() macro will do
the right thing...
Have you reviewed the discussion that led to PCIE()?
Jeff
--
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/