[Cbe-oss-dev] [Fwd: Oops in spidernet on 2.6.20]

Linas Vepstas linas at austin.ibm.com
Wed Feb 14 03:35:07 EST 2007


Hi Jeremy,

There have been a string of patches that were rapidly committed 
that seemed to break a few things.  Can I ask you to try again,
with 2.6.20-git4, with at least the following patch applied:

  Subject: [PATCH 1/5]: spidernet: compile break.

(since 2.6.20-git4 does not compile).

If that doesn't fix it, can you try with 

  Subject: [PATCH] [v3] spidernet : add improved phy support

applied?

I haven't tried vanilla 2.6.20. I suppose we should fix this 
in the stable branch.

--linas

> Wanted to be sure you'd seen this.
> 
> -------- Original Message --------
> Subject: [Cbe-oss-dev] Oops in spidernet on 2.6.20
> Date: Tue, 13 Feb 2007 10:31:39 +1100
> From: Jeremy Kerr <jk at ozlabs.org>
> To: cbe-oss-dev at ozlabs.org
> 
> Hi folks,
> 
> I'm seeing the following oops when booting 2.6.20 on a QS20:
> 
> Spidernet version 1.6 A.
> Unable to handle kernel paging request for data at address 0x0000006c
> Faulting instruction address: 0xc0000000001f077c
> cpu 0x0: Vector: 300 (Data Access) at [c0000000200c3480]
>      pc: c0000000001f077c: .spider_net_write_phy+0x20/0x30
>      lr: c0000000001f2b64: .reset_one_mii_phy+0x50/0x158
>      sp: c0000000200c3700
>     msr: 9000000000009032
>     dar: 6c
>   dsisr: 42000000
>    current = 0xc00000001ff156a0
>    paca    = 0xc000000000404d80
>      pid   = 1, comm = swapper
> enter ? for help
> [link register   ] c0000000001f2b64 .reset_one_mii_phy+0x50/0x158
> [c0000000200c3700] 0000000000010000 (unreliable)
> [c0000000200c37a0] c0000000001f2fd8 .mii_phy_probe+0x30/0x124
> [c0000000200c3830] c0000000001f080c .spider_net_setup_phy+0x80/0x164
> [c0000000200c38c0] c0000000001f0de4 .spider_net_probe+0x404/0x43c
> [c0000000200c3980] c00000000019dbf4 .pci_device_probe+0x120/0x1ac
> [c0000000200c3a20] c0000000001cef30 .really_probe+0xac/0x170
> [c0000000200c3ac0] c0000000001cf59c .__driver_attach+0xcc/0x15c
> [c0000000200c3b50] c0000000001cdaac .bus_for_each_dev+0x78/0xc8
> [c0000000200c3c00] c0000000001cebf8 .driver_attach+0x28/0x40
> [c0000000200c3c80] c0000000001ce208 .bus_add_driver+0x80/0x1dc
> [c0000000200c3d20] c0000000001cf9e0 .driver_register+0xa8/0xc4
> [c0000000200c3da0] c00000000019d450 .__pci_register_driver+0xa8/0x108
> [c0000000200c3e40] c0000000003d3e20 .spider_net_init+0xcc/0xe8
> [c0000000200c3ec0] c000000000009420 .init+0x1d4/0x3b0
> [c0000000200c3f90] c000000000025640 .kernel_thread+0x4c/0x68
> 0:mon> di c0000000001f0750
> c0000000001f0750  419cffe8      blt     cr7,c0000000001f0738
> # .spider_net_read_phy+0x3c/0x60
> c0000000001f0754  78030420      clrldi  r3,r0,48
> c0000000001f0758  4e800020      blr
> c0000000001f075c  54a5801e      rlwinm  r5,r5,16,0,15
> c0000000001f0760  5484a814      rlwinm  r4,r4,21,0,10
> c0000000001f0764  e9230550      ld      r9,1360(r3)
> c0000000001f0768  7c842b78      or      r4,r4,r5
> c0000000001f076c  7c843378      or      r4,r4,r6
> c0000000001f0770  3809006c      addi    r0,r9,108
> c0000000001f0774  78840020      clrldi  r4,r4,32
> c0000000001f0778  7c0004ac      sync
> c0000000001f077c  9089006c      stw     r4,108(r9)
> c0000000001f0780  38000001      li      r0,1
> c0000000001f0784  980d01ca      stb     r0,458(r13)
> c0000000001f0788  4e800020      blr
> c0000000001f078c  7c0802a6      mflr    r0
> 0:mon>
> 
> Looks like card is null in spider_net_write_phy():
> 
> static void
> spider_net_write_phy(struct net_device *netdev, int mii_id,
>                                       int reg, int val)
> {
>                  struct spider_net_card *card = netdev_priv(netdev);
>                  u32 writevalue;
> 
>                  writevalue = ((u32)mii_id << 21) |
>                                  ((u32)reg << 16) | ((u32)val);
> 
>                  spider_net_write_reg(card, SPIDER_NET_GPCWOPCMD, 
> writevalue);
> }
> 
> It looks like we're setting the phy ops before the netdev_priv data?
> 
> Regards,
> 
> 
> Jeremy
> 
> _______________________________________________
> cbe-oss-dev mailing list
> cbe-oss-dev at ozlabs.org
> https://ozlabs.org/mailman/listinfo/cbe-oss-dev
> 



More information about the cbe-oss-dev mailing list