netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Kernel crash in DSA/Marvell 6176 switch in 5.4.36
       [not found] <CAOK2joE-4AWxvT5YWoCFTUb6WhwpSST2bLavKvL8SZi1D3_2VQ@mail.gmail.com>
@ 2020-05-06 23:35 ` Sriram Chadalavada
  2020-05-06 23:54   ` Andrew Lunn
  2020-05-06 23:57   ` Andrew Lunn
  0 siblings, 2 replies; 3+ messages in thread
From: Sriram Chadalavada @ 2020-05-06 23:35 UTC (permalink / raw)
  To: netdev

For this device tree with new binding, there was no crash with 4.19.16
kernel on an NXP imx6 device but there is with 5.4.36.
         eth0: igb0 {
                         compatible = "intel,igb";
                        /* SC: New binding for the Marvell 6176 switch
attached to the Intel Gigabit Ethernet Controller via SERDES link */
                          mdio1: mdio@0 {
                              #address-cells = <2>;
                              #size-cells = <0>;
                              status = "okay";
                              switch0: switch0@0 {

                                compatible = "marvell,mv88e6085";
                                reg = <0 0>;
                                interrupt-parent = <&gpio2>;
                                interrupts = <31 IRQ_TYPE_LEVEL_LOW>;
                                dsa,member = <0 0>;
                                mdio2: mdio@1{
                                 ports
                                 {

                                   #address-cells = <1>;
                                   #size-cells = <0>;
                                   port@0 {
                                          reg = <0>;
                                          label = "port0";
                                   };
                                   port@1 {
                                         reg = <1>;
                                         label = "port1";
                                   };

                                   port@2 {
                                        reg = <2>;
                                        label = "port2";
                                  };

                                   port@5 {
                                        reg = <5>;
                                        label = "cpu";
                                        ethernet = <&eth0>;
                                  };
                                 };
                            };
                          mdio3: mdio@2{ /*SC: External configuration
MDIO bus. Followed example in
Documentation/devicetree/bindings/dsa/marvell.txt */
                            compatible = "marvell,mv88e6xxx-mdio-external";
                            #address-cells = <1>;
                            #size-cells = <0>;
                          };
                     };
   Here is log of the 5.4.36 kernel crash. Can someone point to what
could be going on here?

63] mdio_bus !soc!pcie@1ffc000!pcie@2,1!pcie@3,0!igb0!mdio@0!switch0@0!md:
ports has invalid PHY address
[    2.239378] mdio_bus
!soc!pcie@1ffc000!pcie@2,1!pcie@3,0!igb0!mdio@0!switch0@0!md: scan phy
ports at address 0
[    2.240858] mmcblk1: mmc1:0007 SDCIT 29.2 GiB
[    2.244341] ------------[ cut here ]------------
[    2.244355] WARNING: CPU: 2 PID: 44 at kernel/kmod.c:137 0x800433d0
[    2.244359] Modules linked in:
[    2.244372] CPU: 2 PID: 44 Comm: kworker/u8:3 Not tainted 5.4.36 #0
[    2.244377] Hardware name: Freescale i.MX6 Quad/DualLite (Device
Tree)
[    2.244386] Workqueue: events_unbound 0x80041cbc
[    2.244402] Function entered at [<80016344>] from [<8001299c>]
[    2.244408] Function entered at [<8001299c>] from [<8053a850>]
[    2.244413] Function entered at [<8053a850>] from [<80024108>]
[    2.244418] Function entered at [<80024108>] from [<80024174>]
[    2.244423] Function entered at [<80024174>] from [<800433d0>]
[    2.244429] Function entered at [<800433d0>] from [<802e8ec0>]
[    2.244435] Function entered at [<802e8ec0>] from [<802ea4c0>]
[    2.244440] Function entered at [<802ea4c0>] from [<802ea63c>]
[    2.244444] Function entered at [<802ea63c>] from [<803d5a40>]
[    2.244449] Function entered at [<803d5a40>] from [<803d617c>]
[    2.244456] Function entered at [<803d617c>] from [<802ed25c>]
[    2.244461] Function entered at [<802ed25c>] from [<802ef0c0>]
[    2.244466] Function entered at [<802ef0c0>] from [<802ebb0c>]
[    2.244470] Function entered at [<802ebb0c>] from [<8027804c>]
[    2.244475] Function entered at [<8027804c>] from [<80278340>]
[    2.244479] Function entered at [<80278340>] from [<802765d8>]
[    2.244484] Function entered at [<802765d8>] from [<80277dec>]
[    2.244488] Function entered at [<80277dec>] from [<802771f0>]
[    2.244493] Function entered at [<802771f0>] from [<802748e8>]
[    2.244498] Function entered at [<802748e8>] from [<802ebbb0>]
[    2.244502] Function entered at [<802ebbb0>] from [<803d604c>]
[    2.244506] Function entered at [<803d604c>] from [<8032acd8>]
[    2.244511] Function entered at [<8032acd8>] from [<8021d0d8>]
[    2.244516] Function entered at [<8021d0d8>] from [<8027804c>]
[    2.244521] Function entered at [<8027804c>] from [<80278340>]
[    2.244524] Function entered at [<80278340>] from [<802765d8>]
[    2.244529] Function entered at [<802765d8>] from [<80277dec>]
[    2.244533] Function entered at [<80277dec>] from [<80211c84>]
[    2.244537] Function entered at [<80211c84>] from [<80211cfc>]
[    2.244542] Function entered at [<80211cfc>] from [<80211d30>]
[    2.244552] ---[ end trace 4bc0e4b8c964c71c ]---
[    2.245041] mv88e6085 0000:03:00.0-1538:00: no ports child node found

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Kernel crash in DSA/Marvell 6176 switch in 5.4.36
  2020-05-06 23:35 ` Kernel crash in DSA/Marvell 6176 switch in 5.4.36 Sriram Chadalavada
@ 2020-05-06 23:54   ` Andrew Lunn
  2020-05-06 23:57   ` Andrew Lunn
  1 sibling, 0 replies; 3+ messages in thread
From: Andrew Lunn @ 2020-05-06 23:54 UTC (permalink / raw)
  To: Sriram Chadalavada; +Cc: netdev

> MDIO bus. Followed example in
> Documentation/devicetree/bindings/dsa/marvell.txt */


>                             compatible = "marvell,mv88e6xxx-mdio-external";

6176 does not have an external MDIO bus. Only the 6390 family
does. The 6176 has just one bus, which is both internal and external.

>                             #address-cells = <1>;
>                             #size-cells = <0>;
>                           };
>                      };
>    Here is log of the 5.4.36 kernel crash. Can someone point to what
> could be going on here?
> 
> 63] mdio_bus !soc!pcie@1ffc000!pcie@2,1!pcie@3,0!igb0!mdio@0!switch0@0!md:
> ports has invalid PHY address

"ports has invalid PHY address" does not exist in 5.4.36.

> [    2.239378] mdio_bus
> !soc!pcie@1ffc000!pcie@2,1!pcie@3,0!igb0!mdio@0!switch0@0!md: scan phy
> ports at address 0
> [    2.240858] mmcblk1: mmc1:0007 SDCIT 29.2 GiB
> [    2.244341] ------------[ cut here ]------------
> [    2.244355] WARNING: CPU: 2 PID: 44 at kernel/kmod.c:137 0x800433d0
> [    2.244359] Modules linked in:
> [    2.244372] CPU: 2 PID: 44 Comm: kworker/u8:3 Not tainted 5.4.36 #0
> [    2.244377] Hardware name: Freescale i.MX6 Quad/DualLite (Device
> Tree)
> [    2.244386] Workqueue: events_unbound 0x80041cbc
> [    2.244402] Function entered at [<80016344>] from [<8001299c>]
> [    2.244408] Function entered at [<8001299c>] from [<8053a850>]
> [    2.244413] Function entered at [<8053a850>] from [<80024108>]
> [    2.244418] Function entered at [<80024108>] from [<80024174>]
> [    2.244423] Function entered at [<80024174>] from [<800433d0>]
> [    2.244429] Function entered at [<800433d0>] from [<802e8ec0>]
> [    2.244435] Function entered at [<802e8ec0>] from [<802ea4c0>]
> [    2.244440] Function entered at [<802ea4c0>] from [<802ea63c>]
> [    2.244444] Function entered at [<802ea63c>] from [<803d5a40>]
> [    2.244449] Function entered at [<803d5a40>] from [<803d617c>]
> [    2.244456] Function entered at [<803d617c>] from [<802ed25c>]
> [    2.244461] Function entered at [<802ed25c>] from [<802ef0c0>]
> [    2.244466] Function entered at [<802ef0c0>] from [<802ebb0c>]
> [    2.244470] Function entered at [<802ebb0c>] from [<8027804c>]

This is useless to us. You need to enable symbols in the image. I
think that is CONFIG_DEBUG_INFO.

> [    2.245041] mv88e6085 0000:03:00.0-1538:00: no ports child node found

static int dsa_switch_parse_ports_of(struct dsa_switch *ds,
                                     struct device_node *dn)
{
        struct device_node *ports, *port;
        struct dsa_port *dp;
        int err = 0;
        u32 reg;

        ports = of_get_child_by_name(dn, "ports");
        if (!ports) {
                dev_err(ds->dev, "no ports child node found\n");
                return -EINVAL;
        }

This would indicate your 'port' node is misplaced somehow.

     Andrew

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Kernel crash in DSA/Marvell 6176 switch in 5.4.36
  2020-05-06 23:35 ` Kernel crash in DSA/Marvell 6176 switch in 5.4.36 Sriram Chadalavada
  2020-05-06 23:54   ` Andrew Lunn
@ 2020-05-06 23:57   ` Andrew Lunn
  1 sibling, 0 replies; 3+ messages in thread
From: Andrew Lunn @ 2020-05-06 23:57 UTC (permalink / raw)
  To: Sriram Chadalavada; +Cc: netdev

On Wed, May 06, 2020 at 07:35:50PM -0400, Sriram Chadalavada wrote:
> For this device tree with new binding, there was no crash with 4.19.16
> kernel on an NXP imx6 device but there is with 5.4.36.
>          eth0: igb0 {
>                          compatible = "intel,igb";
>                         /* SC: New binding for the Marvell 6176 switch
> attached to the Intel Gigabit Ethernet Controller via SERDES link */
>                           mdio1: mdio@0 {
>                               #address-cells = <2>;
>                               #size-cells = <0>;
>                               status = "okay";
>                               switch0: switch0@0 {
> 
>                                 compatible = "marvell,mv88e6085";
>                                 reg = <0 0>;
>                                 interrupt-parent = <&gpio2>;
>                                 interrupts = <31 IRQ_TYPE_LEVEL_LOW>;
>                                 dsa,member = <0 0>;
>                                 mdio2: mdio@1{
>                                  ports
>                                  {

Err, what? This would never work for 4.19.16, or any kernel version.

     Andrew

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-05-06 23:57 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <CAOK2joE-4AWxvT5YWoCFTUb6WhwpSST2bLavKvL8SZi1D3_2VQ@mail.gmail.com>
2020-05-06 23:35 ` Kernel crash in DSA/Marvell 6176 switch in 5.4.36 Sriram Chadalavada
2020-05-06 23:54   ` Andrew Lunn
2020-05-06 23:57   ` Andrew Lunn

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).