[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20190604.115226.190918229563428960.davem@davemloft.net>
Date: Tue, 04 Jun 2019 11:52:26 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: olteanv@...il.com
Cc: f.fainelli@...il.com, vivien.didelot@...il.com, andrew@...n.ch,
netdev@...r.kernel.org
Subject: Re: [PATCH v2 net 1/1] net: dsa: sja1105: Fix link speed not
working at 100 Mbps and below
From: Vladimir Oltean <olteanv@...il.com>
Date: Mon, 3 Jun 2019 02:31:37 +0300
> The hardware values for link speed are held in the sja1105_speed_t enum.
> However they do not increase in the order that sja1105_get_speed_cfg was
> iterating over them (basically from SJA1105_SPEED_AUTO - 0 - to
> SJA1105_SPEED_1000MBPS - 1 - skipping the other two).
>
> Another bug is that the code in sja1105_adjust_port_config relies on the
> fact that an invalid link speed is detected by sja1105_get_speed_cfg and
> returned as -EINVAL. However storing this into an enum that only has
> positive members will cast it into an unsigned value, and it will miss
> the negative check.
>
> So take the simplest approach and remove the sja1105_get_speed_cfg
> function and replace it with a simple switch-case statement.
>
> Fixes: 8aa9ebccae87 ("net: dsa: Introduce driver for NXP SJA1105 5-port L2 switch")
> Signed-off-by: Vladimir Oltean <olteanv@...il.com>
> Suggested-by: Andrew Lunn <andrew@...n.ch>
Applied.
Powered by blists - more mailing lists