[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ccabc2d3-9589-f4f5-cdab-ee3ba40e8bc7@gmail.com>
Date: Fri, 10 Feb 2017 09:48:24 -0800
From: Florian Fainelli <f.fainelli@...il.com>
To: Vivien Didelot <vivien.didelot@...oirfairelinux.com>,
maowenan@...wei.com
Cc: netdev@...r.kernel.org, andrew@...n.ch
Subject: Re: cafe8df8b9bc clashes with DSA
On 02/10/2017 09:46 AM, Vivien Didelot wrote:
> Hi,
>
> With latest net-next/master, both my ZII Rev B and Rev C boards crash at
> boot. Bisecting found the bad guy: cafe8df8b9bc ("net: phy: Fix lack of
> reference count on PHY driver"). Below is the stack trace at boot:
Fixed in the "net" tree with:
6d9f66ac7fec2a6ccd649e5909806dfe36f1fc25 ("net: phy: Fix PHY module
checks and NULL deref in phy_attach_direct()"), applies fine to net-next
as well.
>
> <snip>
> libphy: mdio_mux: probed
> mdio_bus 0.1:00: mdio_device_register
> mv88e6085 0.1:00: switch 0x352 detected: Marvell 88E6352, revision 1
> libphy: /mdio-mux/mdio@...witch0@0: probed
> libphy: mdio_mux: probed
> mdio_bus 0.2:00: mdio_device_register
> mv88e6085 0.2:00: switch 0x352 detected: Marvell 88E6352, revision 1
> mmc0: host does not support reading read-only switch, assuming write-enable
> random: fast init done
> mmc0: new high speed SDHC card at address 0001
> mmcblk0: mmc0:0001 L1BN2 3.86 GiB
> mmcblk0: p1
> libphy: /mdio-mux/mdio@...witch1@0: probed
> libphy: mdio_mux: probed
> mdio_bus 0.4:00: mdio_device_register
> mv88e6085 0.4:00: switch 0x1a7 detected: Marvell 88E6185, revision 2
> libphy: /mdio-mux/mdio@...witch2@0: probed
> DSA: switch 0 0 parsed
> DSA: switch 0 1 parsed
> DSA: switch 0 2 parsed
> DSA: tree 0 parsed
> Marvell 88E1540 !mdio-mux!mdio@1:00: attached PHY driver [Marvell 88E1540] (mii_bus:phy_addr=!mdio-mux!mdio@1:00, irq=212)
> Marvell 88E1540 !mdio-mux!mdio@1:01: attached PHY driver [Marvell 88E1540] (mii_bus:phy_addr=!mdio-mux!mdio@1:01, irq=213)
> Marvell 88E1540 !mdio-mux!mdio@1:02: attached PHY driver [Marvell 88E1540] (mii_bus:phy_addr=!mdio-mux!mdio@1:02, irq=214)
> Marvell 88E1540 !mdio-mux!mdio@2:00: attached PHY driver [Marvell 88E1540] (mii_bus:phy_addr=!mdio-mux!mdio@2:00, irq=237)
> Marvell 88E1540 !mdio-mux!mdio@2:01: attached PHY driver [Marvell 88E1540] (mii_bus:phy_addr=!mdio-mux!mdio@2:01, irq=238)
> Marvell 88E1540 !mdio-mux!mdio@2:02: attached PHY driver [Marvell 88E1540] (mii_bus:phy_addr=!mdio-mux!mdio@2:02, irq=239)
> Unable to handle kernel NULL pointer dereference at virtual address 00000008
> pgd = 80004000
> [00000008] *pgd=00000000
> Internal error: Oops: 17 [#1] ARM
> Modules linked in:
> CPU: 0 PID: 687 Comm: kworker/0:2 Not tainted 4.10.0-rc6 #115
> Hardware name: Freescale Vybrid VF5xx/VF6xx (Device Tree)
> Workqueue: events deferred_probe_work_func
> task: 9ecda000 task.stack: 9eca2000
> PC is at phy_attach_direct+0x50/0x1a8
> LR is at phy_connect_direct+0x24/0x5c
> pc : [<8046d688>] lr : [<8046d8e0>] psr: 600a0013
> sp : 9eca3ab8 ip : 9eca3ae8 fp : 9eca3ae4
> r10: 00000000 r9 : 00000002 r8 : 9ed02c00
> r7 : 00000000 r6 : 9ed32800 r5 : 00000000 r4 : 9ed03000
> r3 : 00000000 r2 : 00000000 r1 : 9ec62e00 r0 : 00000000
> Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none
> Control: 10c53c7d Table: 9ed28059 DAC: 00000051
> Process kworker/0:2 (pid: 687, stack limit = 0x9eca2208)
> Stack: (0x9eca3ab8 to 0x9eca4000)
> 3aa0: 00000002 9ed03000
> 3ac0: 00000000 80634064 00000000 9fff7724 00000000 00000000 9eca3b04 9eca3ae8
> 3ae0: 8046d8e0 8046d644 00000002 9ed32c60 00000000 9ed32800 9eca3b24 9eca3b08
> 3b00: 80634174 8046d8c8 00000000 9ed32800 9f6b9000 9ec70210 9eca3b64 9eca3b28
> 3b20: 806345c0 80634120 00000001 00000001 9ed32c60 9ec62e00 9f646e00 9fff7724
> 3b40: 9f646e00 9ec70210 00000000 9f646f08 9ec70210 9ec70210 9eca3bbc 9eca3b68
> 3b60: 806352a8 80634354 00000000 801f1dc8 9ec70210 9f646f04 9f646f08 9f646f08
> 3b80: 9ec7001c 00000000 00000002 00000009 9eca3bbc 9ec62e00 9ec70010 9ec7001c
> 3ba0: 00000000 9fff7450 00000000 0000000c 9eca3bf4 9eca3bc0 8047dabc 80634b48
> 3bc0: 00000000 8123d2e4 9eca3be4 9eca3bd8 9ec62e00 81299770 81258d50 00000000
> 3be0: 8123d2e4 00000000 9eca3c04 9eca3bf8 8046e9ec 8047d6fc 9eca3c3c 9eca3c08
> 3c00: 8040c2bc 8046e9d0 9eca3c24 9eca3c18 80521d10 00000001 8123d2e4 9ec62e00
> 3c20: 9eca3c88 8129974c 00000000 00000000 9eca3c5c 9eca3c40 8040c6d4 8040c04c
> 3c40: 00000000 9eca3c88 8040c628 00000001 9eca3c84 9eca3c60 8040a0fc 8040c634
> 3c60: 9f5e57dc 9f73ce34 8041659c 9ec62e00 9ec62e34 8123a150 9eca3cac 9eca3c88
> 3c80: 8040be90 8040a094 9ec62e00 00000001 9ec62e08 9ec62e00 8123a150 00000000
> 3ca0: 9eca3cbc 9eca3cb0 8040c76c 8040bddc 9eca3cdc 9eca3cc0 8040b254 8040c75c
> 3cc0: 81252e00 9ec62e08 9ed02840 9ec62e00 9eca3d1c 9eca3ce0 80409010 8040b1cc
> 3ce0: 9eca3d10 9eca3cf0 80407800 8040749c 9eca3d14 9fff7450 9ec62e00 00000000
> 3d00: 9fff730c 9ed02840 9ec62e00 00000000 9eca3d34 9eca3d20 8046eb48 80408bfc
> 3d20: 9fff7450 9ed02800 9eca3d74 9eca3d38 8052647c 8046eb18 9ec9a890 8046f210
> 3d40: 80803490 8125e3a8 9eca3d6c 9fff730c 00000000 9f59ac10 9ec9a890 8046f210
> 3d60: 80803490 9ec74ed0 9eca3dbc 9eca3d78 8046f428 8052639c 00000004 9ec9a740
> 3d80: 9f5cf780 9ec9a714 9eca3dbc 00000004 803a8d88 9f59ac10 9ec9a710 9f59ac00
> 3da0: fffffdfb 8123a2f8 00000000 00000003 9eca3de4 9eca3dc0 8046f658 8046f2a0
> 3dc0: 00000000 8123a2f8 00000000 9f59ac10 9f59ac10 8123a2f8 9eca3e04 9eca3de8
> 3de0: 8040e0b0 8046f5ec 9f59ac10 81299770 81258d50 00000000 9eca3e3c 9eca3e08
> 3e00: 8040c2bc 8040e060 80521d10 805207f4 9eca3e3c 00000001 8123a2f8 9f59ac10
> 3e20: 9eca3e88 00000000 00000000 81252518 9eca3e5c 9eca3e40 8040c6d4 8040c04c
> 3e40: 00000000 9eca3e88 8040c628 00000001 9eca3e84 9eca3e60 8040a0fc 8040c634
> 3e60: 9f4901dc 9f73f834 8041659c 9f59ac10 9f59ac44 81233b28 9eca3eac 9eca3e88
> 3e80: 8040be90 8040a094 9f59ac10 00000001 9f59ac10 9f59ac10 81233b28 81258d50
> 3ea0: 9eca3ebc 9eca3eb0 8040c76c 8040bddc 9eca3edc 9eca3ec0 8040b254 8040c75c
> 3ec0: 00000000 9f59ac10 81233974 81233988 9eca3efc 9eca3ee0 8040b7f8 8040b1cc
> 3ee0: 81233990 9ece9100 8120aecc 9ffdc100 9eca3f34 9eca3f00 8012f3dc 8040b7bc
> 3f00: 8120aecc 81210980 8120aee0 8120aecc 9ece9118 81210980 8120aee0 9eca2038
> 3f20: 8120aecc 9ece9100 9eca3f7c 9eca3f38 8012f860 8012f2c8 9ecefb58 9f4e9e94
> 3f40: 81210980 9eca2000 00000000 8121542d 9ece9100 9ecefb40 00000000 9ecef900
> 3f60: 9ece9100 8012f66c 9ecefb58 9f4e9e94 9eca3fac 9eca3f80 801352e8 8012f678
> 3f80: 9eca2000 9ecef900 801351d4 00000000 00000000 00000000 00000000 00000000
> 3fa0: 00000000 9eca3fb0 80108cd8 801351e0 00000000 00000000 00000000 00000000
> 3fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
> 3fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
> Backtrace:
> [<8046d638>] (phy_attach_direct) from [<8046d8e0>] (phy_connect_direct+0x24/0x5c)
> r10:00000000 r9:00000000 r8:9fff7724 r7:00000000 r6:80634064 r5:00000000
> r4:9ed03000 r3:00000002
> [<8046d8bc>] (phy_connect_direct) from [<80634174>] (dsa_slave_phy_connect+0x60/0x80)
> r6:9ed32800 r5:00000000 r4:9ed32c60 r3:00000002
> [<80634114>] (dsa_slave_phy_connect) from [<806345c0>] (dsa_slave_create+0x278/0x3f4)
> r6:9ec70210 r5:9f6b9000 r4:9ed32800 r3:00000000
> [<80634348>] (dsa_slave_create) from [<806352a8>] (dsa_register_switch+0x76c/0x80c)
> r10:9ec70210 r9:9ec70210 r8:9f646f08 r7:00000000 r6:9ec70210 r5:9f646e00
> r4:9fff7724
> [<80634b3c>] (dsa_register_switch) from [<8047dabc>] (mv88e6xxx_probe+0x3cc/0x444)
> r10:0000000c r9:00000000 r8:9fff7450 r7:00000000 r6:9ec7001c r5:9ec70010
> r4:9ec62e00
> [<8047d6f0>] (mv88e6xxx_probe) from [<8046e9ec>] (mdio_probe+0x28/0x34)
> r9:00000000 r8:8123d2e4 r7:00000000 r6:81258d50 r5:81299770 r4:9ec62e00
> [<8046e9c4>] (mdio_probe) from [<8040c2bc>] (driver_probe_device+0x27c/0x474)
> [<8040c040>] (driver_probe_device) from [<8040c6d4>] (__device_attach_driver+0xac/0x128)
> r10:00000000 r9:00000000 r8:8129974c r7:9eca3c88 r6:9ec62e00 r5:8123d2e4
> r4:00000001
> [<8040c628>] (__device_attach_driver) from [<8040a0fc>] (bus_for_each_drv+0x74/0xa8)
> r7:00000001 r6:8040c628 r5:9eca3c88 r4:00000000
> [<8040a088>] (bus_for_each_drv) from [<8040be90>] (__device_attach+0xc0/0x150)
> r6:8123a150 r5:9ec62e34 r4:9ec62e00
> [<8040bdd0>] (__device_attach) from [<8040c76c>] (device_initial_probe+0x1c/0x20)
> r7:00000000 r6:8123a150 r5:9ec62e00 r4:9ec62e08
> [<8040c750>] (device_initial_probe) from [<8040b254>] (bus_probe_device+0x94/0x9c)
> [<8040b1c0>] (bus_probe_device) from [<80409010>] (device_add+0x420/0x5b8)
> r6:9ec62e00 r5:9ed02840 r4:9ec62e08 r3:81252e00
> [<80408bf0>] (device_add) from [<8046eb48>] (mdio_device_register+0x3c/0x6c)
> r10:00000000 r9:9ec62e00 r8:9ed02840 r7:9fff730c r6:00000000 r5:9ec62e00
> r4:9fff7450
> [<8046eb0c>] (mdio_device_register) from [<8052647c>] (of_mdiobus_register+0xec/0x1fc)
> r5:9ed02800 r4:9fff7450
> [<80526390>] (of_mdiobus_register) from [<8046f428>] (mdio_mux_init+0x194/0x254)
> r10:9ec74ed0 r9:80803490 r8:8046f210 r7:9ec9a890 r6:9f59ac10 r5:00000000
> r4:9fff730c
> [<8046f294>] (mdio_mux_init) from [<8046f658>] (mdio_mux_gpio_probe+0x78/0xac)
> r10:00000003 r9:00000000 r8:8123a2f8 r7:fffffdfb r6:9f59ac00 r5:9ec9a710
> r4:9f59ac10
> [<8046f5e0>] (mdio_mux_gpio_probe) from [<8040e0b0>] (platform_drv_probe+0x5c/0xc0)
> r6:8123a2f8 r5:9f59ac10 r4:9f59ac10
> [<8040e054>] (platform_drv_probe) from [<8040c2bc>] (driver_probe_device+0x27c/0x474)
> r7:00000000 r6:81258d50 r5:81299770 r4:9f59ac10
> [<8040c040>] (driver_probe_device) from [<8040c6d4>] (__device_attach_driver+0xac/0x128)
> r10:81252518 r9:00000000 r8:00000000 r7:9eca3e88 r6:9f59ac10 r5:8123a2f8
> r4:00000001
> [<8040c628>] (__device_attach_driver) from [<8040a0fc>] (bus_for_each_drv+0x74/0xa8)
> r7:00000001 r6:8040c628 r5:9eca3e88 r4:00000000
> [<8040a088>] (bus_for_each_drv) from [<8040be90>] (__device_attach+0xc0/0x150)
> r6:81233b28 r5:9f59ac44 r4:9f59ac10
> [<8040bdd0>] (__device_attach) from [<8040c76c>] (device_initial_probe+0x1c/0x20)
> r7:81258d50 r6:81233b28 r5:9f59ac10 r4:9f59ac10
> [<8040c750>] (device_initial_probe) from [<8040b254>] (bus_probe_device+0x94/0x9c)
> [<8040b1c0>] (bus_probe_device) from [<8040b7f8>] (deferred_probe_work_func+0x48/0xcc)
> r6:81233988 r5:81233974 r4:9f59ac10 r3:00000000
> [<8040b7b0>] (deferred_probe_work_func) from [<8012f3dc>] (process_one_work+0x120/0x3b0)
> r7:9ffdc100 r6:8120aecc r5:9ece9100 r4:81233990
> [<8012f2bc>] (process_one_work) from [<8012f860>] (worker_thread+0x1f4/0x534)
> r10:9ece9100 r9:8120aecc r8:9eca2038 r7:8120aee0 r6:81210980 r5:9ece9118
> r4:8120aecc
> [<8012f66c>] (worker_thread) from [<801352e8>] (kthread+0x114/0x144)
> r10:9f4e9e94 r9:9ecefb58 r8:8012f66c r7:9ece9100 r6:9ecef900 r5:00000000
> r4:9ecefb40
> [<801351d4>] (kthread) from [<80108cd8>] (ret_from_fork+0x14/0x3c)
> r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:801351d4
> r4:9ecef900 r3:9eca2000
> Code: ebf402bc e3500000 0a00004e e5943044 (e5930008)
> ---[ end trace 669c1d3a208ea147 ]---
>
>
> Reverting cafe8df8b9bc fixes my setup.
>
> Thanks,
>
> Vivien
>
--
Florian
Powered by blists - more mailing lists