Re: odd RTL8139 quirk.
From: Stephen Hemminger <hidden>
Date: 2008-04-30 15:19:27
On Wed, 30 Apr 2008 07:13:48 -0400 Jeff Garzik [off-list ref] wrote:
Andrew Morton wrote:quoted
On Tue, 29 Apr 2008 18:04:06 -0400 Jeff Garzik [off-list ref] wrote:quoted
Dave Jones wrote:quoted
On Tue, Apr 29, 2008 at 03:37:41PM -0400, Jeff Garzik wrote: > Dave Jones wrote: > > I've just been playing with a model 2 OQO, which has an RTL8139. > > It gets detected just fine, though it doesn't actually work.. > > > > eth0: RealTek RTL8139 at 0xf8830000, 00:00:00:00:00:00, IRQ 18 > > eth0: Identified 8139 chip type 'RTL-8139' > > > > The null MAC address being one clue. Another oddity is that > > ethtool reports that there's no link detected, even though there is. > > (Enough for it to PXE boot a kernel from at least :) > > > > Futzing with the debug= modparam didn't yield anything extra at all. > > > > Any clues? > > Sounds like a broken EEPROM. Does supplying a MAC via ifconfig prior to > 'ifconfig ... up' help? Ah. This sounds enlightening: http://www.oqotalk.com/index.php/topic,1511.0.html Seems a shame to have to choose PIO vs MMIO for a distro kernel though. Would there be any objection to turning that into a modparam ? (If we wanted to get really fancy, we could even quirk around it automatically when we detect broken hardware).Something like this? :) http://www.linux.sgi.com/archives/netdev/2004-11/msg00226.html It did not go upstream but it needed some init-time bug fixing, IIRC. Maybe akpm remembers more why my patch sucked... :)Apart from its From: address you mean? ;) I can find no record, sorry.Yeah, it was in -mm for a while (via netdev-2.6.git#ALL most likely), and a -mm tester reported that it consistently oops for him, or something along those lines. You continually (and rightly!) pestered me about it, and I withdrew the patch from -mm since I didn't have time to futz with it.
Is there any possibility for the driver to discover broken MMIO at runtime? Could it look for some portion like mac address or HW_REVID being all zeros or all ones?