Messages in this thread |  | | Date | Tue, 08 Apr 2008 15:56:48 -0400 | From | Jeff Garzik <> | Subject | Re: [regression] e1000e broke e1000 |
| |
Ingo Molnar wrote: > * Matthew Wilcox <matthew@wil.cx> 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
|  |