Port-arm archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

if_mvgbe.c regression (openrd ultimate)



Hello,

There is a little regression from stable version to current, at least
for openrd-ultimate. The kernel boots fine until mvgbe_attach. Then
it fails to detect PHY address causing a memory fault:

mvgbe0: no PHY
found!                                                                          
                                                                
uvm_fault(0xc0c9d960, 0, 1) -> e
Fatal kernel mode data abort: 'Translation Fault (S)'
trapframe: 0xc0ccdce8
FSR=00000005, FAR=00000014, spsr=a00000d3
r0 =c29e4000, r1 =c0ccdd50, r2 =c0ccdd08, r3 =00000000
r4 =c29d3648, r5 =c0ccde18, r6 =c0bc7238, r7 =00000001
r8 =00000000, r9 =c0bc7228, r10=00000000, r11=c0ccddb8
r12=c0ccdd10, ssp=c0ccdd3c, slr=c08c17f4, pc =c08c17f8

Stopped in pid 0.1 (system) at  netbsd:mvgbec_attach+-0x2d4: ldrr3, [r3,
#0x014]                                                                        
db>        
netbsd:mvgbec_attach+-0x10
        scp=0xc08c1534 rlv=0xc09f58c4 (netbsd:config_attach_loc+-0x19c)
        rsp=0xc0ccddbc rfp=0xc0ccdde4
        r10=0x00000000 r9=0x00000003
        r8=0xc0b50cb4 r7=0xc0ba2ca4 r6=0xc0ccde18 r5=0xc29db8c8
        r4=0xc2b04208
netbsd:config_attach_loc+-0x10
        scp=0xc09f5738 rlv=0xc09590f8 (netbsd:mvsoc_attach+-0x280)
        rsp=0xc0ccdde8 rfp=0xc0ccde6c
        r10=0x00000000 r8=0xc0ca256c
        r7=0xc0b38288 r6=0xc29d3620 r5=0x00006281 r4=0xc0b38078

(gdb) info symbol 0xc08c17f8
mvgbec_attach +- 724 in section .text
(gdb) list *0xc08c17f8
0xc08c17f8 is in mvgbec_attach
(/home/pnu/src/netbsd_cvs/src/sys/dev/marvell/if_mvgbe.c:432).
427                             child = config_found_sm_loc(csc->sc_dev, 
"mvgbec", NULL,
428                                 &gbea, mvgbec_print, mvgbec_search);
429                             if (child) {
430                                     port = device_private(child);
431                                     mii  = 
LIST_FIRST(&port->sc_mii.mii_phys);
432                                     phyaddr |= MVGBE_PHYADDR_PHYAD(j, 
mii->mii_phy);
433                             }
434                     }
435                     break;
436             }

-- 
-panu



Home | Main Index | Thread Index | Old Index