Hello,

Using the mainline kernel & p1010rdb.dts, fsl_pq_mdio_probe returns busy on my P1010RDB when first probing the MDIO during kernel boot. On the console, the error is reported as:

"fsl-pq_mdio: probe of ffe24000.mdio failed with error -16"


I have determined that the failure occurs in the for_each_child_of_node() loop shown below, which is part of the fsl_pq_mdio_probe routine. It turns out that tbi->type is always <NULL> although tbi->name will be "tbi-phy" when scanning the last child node ( I have also attached the relevant portion of the p1010rdb.dtsi file below). Since tbi-type is never "tbi-phy", the "if (tbi)" statement is always false, and err is subsequently set to EBUSY below.

Can someone please tell me whether this is an issue with the dts file, the of library, or the probe function? Any direction on the right way to patch this would be appreciated.


// from fsl_pq_mdio.c:

for_each_child_of_node(np, tbi) {
                if (!strncmp(tbi->type, "tbi-phy", 8))
                        break;
        }

        if (tbi) {
                const u32 *prop = of_get_property(tbi, "reg", NULL);

                if (prop)
                        tbiaddr = *prop;
        }

        if (tbiaddr == -1) {
                err = -EBUSY;
                goto err_free_irqs;
        } else {
                out_be32(tbipa, tbiaddr);
        }


// from p1010rdb.dtsi:

mdio@24000 {
                phy0: ethernet-phy@0 {
                        interrupts = <3 1 0 0>;
                        reg = <0x1>;
                };

                phy1: ethernet-phy@1 {
                        interrupts = <2 1 0 0>;
                        reg = <0x0>;
                };

                phy2: ethernet-phy@2 {
                        interrupts = <2 1 0 0>;
                        reg = <0x2>;
                };

                tbi-phy@3 {
                        device-type = "tbi-phy";
                        reg = <0x3>;
                };
        };






_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to