From Bugzilla Helper: User-Agent: Mozilla/4.77 [en] (X11; U; Linux 2.4.7-2.19 i686) Description of problem: The pcnet32 driver records the following message in syslog: kernel: eth%%d: PCnet/FAST III 79C975 at 0x2000, 00 02 55 7c fd 01 This looks like it was supposed to print 'eth0' instead. Version-Release number of selected component (if applicable): 2.4.3-15 How reproducible: Always Steps to Reproduce: 1. insmod pcnet32 on a machine with a compatible card 2. 3. Actual Results: Message says 'eth%%d'. Expected Results: Message probably intended to say 'eth0'. Additional info: alloc_etherdev passes a mask of 'eth%d' to alloc_netdev, apparently expecting it to be used in a printf() call. But alloc_netdev does a strcpy() from the mask into dev->name. I'm not sure how the % gets doubled. Is dev->name supposed to contain 'eth0' as pcnet32 seems to expect? Or is 'eth%d' correct?
Yup, bug indeed. alloc_etherdev() is supposed to just copy it, register_etherdev actually assigns the number. (There can be a long time in between, in which races would lead to duplicate numbers etc) I'll see if the printk can be moved down.