Subject: Re: wm0 mediachange panic
To: None <current-users@netbsd.org>
From: Jukka Salmi <j+nbsd@2006.salmi.ch>
List: current-users
Date: 12/11/2006 18:30:34
Christos Zoulas --> current-users (2006-12-03 23:17:00):
> But the kernel shouldn't really panic!

My Thinkpad X40 running -current (4.99.4) shows a similar problem every
now and then. Most of the time igphy0 attaches at wm0:

wm0 at pci1 dev 1 function 0: Intel i82541GI Mobile 1000BASE-T Ethernet, rev. 0
wm0: interrupting at irq 11
wm0: 32-bit 33MHz PCI bus
wm0: 64 word (6 address bits) MicroWire EEPROM
wm0: Ethernet address 00:0a:e4:2e:ed:cc
igphy0 at wm0 phy 1: Intel IGP01E1000 Gigabit PHY, rev. 0
igphy0: 1000baseT, 1000baseT-FDX
ifmedia_set: no match for 0x20/0xfbff8ff

but sometimes it's ukphy0 (how can this happen?). And even though my
kernel includes ukphy it just paniced yesterday:

wm0 at pci1 dev 1 function 0: Intel i82541GI Mobile 1000BASE-T Ethernet, rev. 0
wm0: interrupting at irq 11
wm0: 32-bit 33MHz PCI bus
wm0: 64 word (6 address bits) MicroWire EEPROM
wm0: Ethernet address 00:0a:e4:2e:ed:cc
ukphy0 at wm0 phy 1: Generic IEEE 802.3u media interface
ukphy0: OUI 0x005500, model 0x002a, rev. 8
ukphy0: 10baseT-FDX, 100baseTX, 1000baseT, 1000baseT-FDX
ifmedia_set: no match for 0x20/0xfbff8ff
[...]
panic: wm_gmii_mediachange: bad media 0x22
Stopped in pid 157.1 (ifconfig) at      netbsd:cpu_Debugger+0x4:        popl    %ebp
db> syncing disks... 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 giving up

A gdb backtrace shows:

(gdb) bt
#0  0xc0660000 in ?? ()
#1  0xc0394c32 in dumpsys ()
#2  0xc0394d5a in cpu_reboot ()
#3  0xc0182cbf in db_sync_cmd ()
#4  0xc01831a0 in db_command ()
#5  0xc0183558 in db_command_loop ()
#6  0xc0186331 in db_trap ()
#7  0xc0391036 in kdb_trap ()
#8  0xc039d50b in trap ()
#9  0xc0102c8b in calltrap ()
#10 0xc0390eb4 in cpu_Debugger ()
#11 0xc0314ce5 in panic ()
#12 0xc03c15c7 in wm_gmii_mediachange ()
#13 0xc03c2c9f in wm_init ()
#14 0xc03c4713 in wm_ioctl ()
#15 0xc0357796 in ifioctl ()
#16 0xc0318694 in sys_ioctl ()
#17 0xc039ccc9 in syscall_plain ()
#18 0xc0100623 in syscall1 ()

Any hints? There's a crash dump available, in case this helps.


TIA, Jukka

-- 
bashian roulette:
$ ((RANDOM%6)) || rm -rf ~