Re: [PATCH 0/3] Fix for KSZ DSA switch shutdown

Lino Sanfilippo
2021-09-09T16:47:03Z

On 09.09.21 at 17:11, Andrew Lunn wrote:
>> Andrew: the switch is not on a hat, the device tree part I use is:
>
> And this is not an overlay. It is all there at boot?
>

Well actually we DO use an overlay. The dev tree snipped I posted was an excerpt form
fdtdump. The concerning fragment looks like this in the overlay file:

fragment@4 {
target = <&spi6>;
__overlay__ {
#address-cells = <1>;
#size-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&spi6_pins>, <&spi6_cs_pins>;
cs-gpios = <&gpio 16 GPIO_ACTIVE_LOW>,
<&gpio 18 GPIO_ACTIVE_LOW>;
status = "okay";

ksz9897: ksz9897@0 {
compatible = "microchip,ksz9897";
reg = <0>;
spi-max-frequency = <50000000>;
spi-cpha;
spi-cpol;
reset-gpios = <&expander_core 13 GPIO_ACTIVE_LOW>;
status = "okay";

ports {
#address-cells = <1>;
#size-cells = <0>;
/* PORT 1 */
port@0 {
reg = <0>;
label = "cpu";
ethernet = <&genet>;
};
/* PORT 2 */
port@1 {
reg = <1>;
label = "pileft";
};
/* PORT 3 */
port@2 {
reg = <2>;
label = "piright";
};
/*
* PORT 4-7 unused
*/
};
};

tpm: tpm@1 {
compatible = "infineon,slb9670";
pinctrl-names = "default";
pinctrl-0 = <&tpm_pins>;
reg = <1>;
spi-max-frequency = <1000000>;
interrupt-parent = <&gpio>;
#interrupt-cells = <2>;
interrupts = <10 IRQ_TYPE_LEVEL_LOW>;
status = "okay";
};
};
};

But probably this does not matter any more now
that Vladimir was able to reproduce the issue.

> I was just thinking that maybe the Ethernet interface gets opened at
> boot, and overlay is loaded, and the interface is opened a second
> time. I don't know of anybody using DSA with overlays, so that could
> of been the key difference which breaks it for you.
>
> Your decompiled DT blob looks O.K.
>
> Andrew
>