[vortex] Card: 3c509C Kernel: 2.4.1 Kernel message problem
Brett M. Wilson
bwilson@tislabs.com
Wed, 31 Jan 2001 04:06:16 -0800 (PST)
I'm not sure who's in charge of the 3c59x driver right
now so I thought I'd just send this to the list.
(I'm not a subscriber so please reply by email).
The following lines were added to the driver as of 2.4.1 around line 1047.
+ step = (inb(ioaddr + Wn4_NetDiag) & 0x1e) >> 1;
+ printk(KERN_INFO " product code '%c%c' rev %02x.%d date %02d-"
+ "%02d-%02d\n", eeprom[6]&0xff, eeprom[6]>>8, eeprom[0x14],
+ step, (eeprom[4]>>5) & 15, eeprom[4] & 31, eeprom[4]>>9);
The problems comes with the 2 product code characters.
(eeprom[6]&0xff, eeprom[6]>>8). For my card (3c509C),
the print from dmesg will be:
======================================================================
eth0: 3Com PCI 3c905C Tornado at 0xec80, 00:b0:d0:61:d9:29, IRQ 10
product code '' rev 00.14 date 07-16-104
8K byte-wide RAM 5:3 Rx:Tx split, autoselect/Autonegotiate interface.
MII transceiver found at address 24, status 782d.
Enabling bus-master transmits and whole-frame receives.
======================================================================
The product code shows up as nothing (unprintable characters?).
Now this doesn't bother me. (I'm not that anal retentive. :)
However, something from this string is is really confusing
klogd which upon getting to the product code line with enter
an infinite loop in what appears to be strcpy. After startup
I have to restart klogd to clear the problem and continue on.
This problem is relieved when I remove the two %c%c and their
arguments from the printk.
I believe klogd should be able to deal with this situation
without an infinite loop (strncpy) but I am assuming that
the eeprom locations being read are not the correct ones.
Brett
FYI, this is a Debian 2.2 system with a 2.4 kernel.
---------------------------------------------------------
Brett M. Wilson <bwilson@tislabs.com>
Adaptive Network Defense Group
NAI Labs, Glenwood, MD (443) 259-2300
Remote Office: Federal Way, WA (253) 835-6157