Hi! I've some strange problems here. With Kernel 2.6.32 my network is working fine. The r8169 driver loads fine. But I am unable to use the newest kernel. With 2.6.33, r8169 can't be loaded due error -22. OS: Gentoo Linux Kernel: 2.6.33-gentoo & 2.6.33-vanilla (tried both) What now? Which moreinfos do you need?
Created attachment 25372 [details] /var/log/dmesg attaching /var/log/dmesg
r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded r8169 0000:06:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16 r8169 0000:06:00.0: PCI INT A disabled r8169: probe of 0000:06:00.0 failed with error -22
Assigned to Francois, marked as a regression.
Created attachment 25838 [details] Failure to enable MWI should not be fatal
I think r8169 is a canary pointing to a different problem. The only reason pci_set_mwi() should return -EINVAL is if pci_set_cacheline_size() returns it, and that only happens if pci_cache_line_size is 0 or otherwise not supported by the card. Does reverting ac1aa47b131416a6ff37eb1005a0a1d2541aad6c fix the issue? If so, it would be interesting to see what the value of pci_cache_line_size is when it fails.
I am not sure, what the problem is. But I've tracked it down. I need to enable CONFIG_PCI_QUIRKS, when I am using CONFIG_EMBEDDED. Without this, Kernel 2.6.33 won't work with R8169. But, Kernel 2.6.32 works fine with R8169 and without CONFIG_PCI_QUIRKS and enabled CONFIG_EMBEDDED.
I don't really know if this is a bug or not. I'm guessing it is not a bug, as the CONFIG_EMBEDDED option comes with a guarantee-void warning: "This option allows certain base kernel options and settings to be disabled or tweaked. This is for specialized environments which can tolerate a "non-standard" kernel. Only use this if you really know what you are doing." If no one shouts, I'm going to close this as ... invalid?. The patch in comment #4 ( https://bugzilla.kernel.org/attachment.cgi?id=25838 ) got merged in 2.6.34-rc6: commit 87aeec767e1de60d7f76abbb44df5372b0932b7b Author: françois romieu <romieu@fr.zoreil.com> Date: Mon Apr 26 11:42:06 2010 +0000 r8169: failure to enable mwi should not be fatal