diff mbox series

[RESEND2] net: stmmac: Fix unset max_speed difference between DT and non-DT platforms

Message ID 20220331184832.16316-1-wens@kernel.org (mailing list archive)
State Accepted
Delegated to: Netdev Maintainers
Headers show
Series [RESEND2] net: stmmac: Fix unset max_speed difference between DT and non-DT platforms | expand

Checks

Context Check Description
netdev/fixes_present success Fixes tag not required for -next series
netdev/subject_prefix warning Target tree name not specified in the subject
netdev/cover_letter success Single patches do not need cover letters
netdev/patch_count success Link
netdev/header_inline success No static functions without inline keyword in header files
netdev/build_32bit success Errors and warnings before: 0 this patch: 0
netdev/cc_maintainers fail 1 blamed authors not CCed: srinivas.kandagatla@st.com; 4 maintainers not CCed: srinivas.kandagatla@st.com mcoquelin.stm32@gmail.com linux@armlinux.org.uk linux-stm32@st-md-mailman.stormreply.com
netdev/build_clang success Errors and warnings before: 0 this patch: 0
netdev/module_param success Was 0 now: 0
netdev/verify_signedoff success Signed-off-by tag matches author and committer
netdev/verify_fixes success Fixes tag looks correct
netdev/build_allmodconfig_warn success Errors and warnings before: 0 this patch: 0
netdev/checkpatch success total: 0 errors, 0 warnings, 0 checks, 9 lines checked
netdev/kdoc success Errors and warnings before: 0 this patch: 0
netdev/source_inline success Was 0 now: 0
netdev/tree_selection success Guessing tree name failed - patch did not apply

Commit Message

Chen-Yu Tsai March 31, 2022, 6:48 p.m. UTC
From: Chen-Yu Tsai <wens@csie.org>

In commit 9cbadf094d9d ("net: stmmac: support max-speed device tree
property"), when DT platforms don't set "max-speed", max_speed is set to
-1; for non-DT platforms, it stays the default 0.

Prior to commit eeef2f6b9f6e ("net: stmmac: Start adding phylink support"),
the check for a valid max_speed setting was to check if it was greater
than zero. This commit got it right, but subsequent patches just checked
for non-zero, which is incorrect for DT platforms.

In commit 92c3807b9ac3 ("net: stmmac: convert to phylink_get_linkmodes()")
the conversion switched completely to checking for non-zero value as a
valid value, which caused 1000base-T to stop getting advertised by
default.

Instead of trying to fix all the checks, simply leave max_speed alone if
DT property parsing fails.

Fixes: 9cbadf094d9d ("net: stmmac: support max-speed device tree property")
Fixes: 92c3807b9ac3 ("net: stmmac: convert to phylink_get_linkmodes()")
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Acked-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
---

Resend2: CC Srinivas at Linaro instead of ST. Collected Russell's ack.
Resend: added Srinivas (author of first fixed commit) to CC list.

This was first noticed on ROC-RK3399-PC, and also observed on ROC-RK3328-CC.
The fix was tested on ROC-RK3328-CC and Libre Computer ALL-H5-ALL-CC.

 drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

Andrew Lunn March 31, 2022, 7:25 p.m. UTC | #1
> Resend2: CC Srinivas at Linaro instead of ST. Collected Russell's ack.
> Resend: added Srinivas (author of first fixed commit) to CC list.

Please don't resend very quickly in general, and specifically not to
just add a reviewed-by. Patchwork will keep track for reviewed-by:s so
if this patch was to be picked up, they would be automatically
added. You only need to add them if you need to resend for another
reason.

In general, wait for at least 24 hours before doing a resend, so
others who are interested can review the patch and comment.

       Andrew
Srinivas Kandagatla April 1, 2022, 12:29 p.m. UTC | #2
On 31/03/2022 19:48, Chen-Yu Tsai wrote:
> From: Chen-Yu Tsai <wens@csie.org>
> 
> In commit 9cbadf094d9d ("net: stmmac: support max-speed device tree
> property"), when DT platforms don't set "max-speed", max_speed is set to
> -1; for non-DT platforms, it stays the default 0.
> 
> Prior to commit eeef2f6b9f6e ("net: stmmac: Start adding phylink support"),
> the check for a valid max_speed setting was to check if it was greater
> than zero. This commit got it right, but subsequent patches just checked
> for non-zero, which is incorrect for DT platforms.
> 
> In commit 92c3807b9ac3 ("net: stmmac: convert to phylink_get_linkmodes()")
> the conversion switched completely to checking for non-zero value as a
> valid value, which caused 1000base-T to stop getting advertised by
> default.
> 
> Instead of trying to fix all the checks, simply leave max_speed alone if
> DT property parsing fails.
> 
> Fixes: 9cbadf094d9d ("net: stmmac: support max-speed device tree property")
> Fixes: 92c3807b9ac3 ("net: stmmac: convert to phylink_get_linkmodes()")
> Signed-off-by: Chen-Yu Tsai <wens@csie.org>
> Acked-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
> ---
LGTM,

Reviewed-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>


--srini
> 
> Resend2: CC Srinivas at Linaro instead of ST. Collected Russell's ack.
> Resend: added Srinivas (author of first fixed commit) to CC list.
> 
> This was first noticed on ROC-RK3399-PC, and also observed on ROC-RK3328-CC.
> The fix was tested on ROC-RK3328-CC and Libre Computer ALL-H5-ALL-CC.
> 
>   drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c | 3 +--
>   1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
> index 5d29f336315b..11e1055e8260 100644
> --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
> +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
> @@ -431,8 +431,7 @@ stmmac_probe_config_dt(struct platform_device *pdev, u8 *mac)
>   	plat->phylink_node = np;
>   
>   	/* Get max speed of operation from device tree */
> -	if (of_property_read_u32(np, "max-speed", &plat->max_speed))
> -		plat->max_speed = -1;
> +	of_property_read_u32(np, "max-speed", &plat->max_speed);
>   
>   	plat->bus_id = of_alias_get_id(np, "ethernet");
>   	if (plat->bus_id < 0)
Jakub Kicinski April 2, 2022, 4:41 a.m. UTC | #3
On Fri,  1 Apr 2022 02:48:32 +0800 Chen-Yu Tsai wrote:
> From: Chen-Yu Tsai <wens@csie.org>
> 
> In commit 9cbadf094d9d ("net: stmmac: support max-speed device tree
> property"), when DT platforms don't set "max-speed", max_speed is set to
> -1; for non-DT platforms, it stays the default 0.
> 
> Prior to commit eeef2f6b9f6e ("net: stmmac: Start adding phylink support"),
> the check for a valid max_speed setting was to check if it was greater
> than zero. This commit got it right, but subsequent patches just checked
> for non-zero, which is incorrect for DT platforms.
> 
> In commit 92c3807b9ac3 ("net: stmmac: convert to phylink_get_linkmodes()")
> the conversion switched completely to checking for non-zero value as a
> valid value, which caused 1000base-T to stop getting advertised by
> default.
> 
> Instead of trying to fix all the checks, simply leave max_speed alone if
> DT property parsing fails.
> 
> Fixes: 9cbadf094d9d ("net: stmmac: support max-speed device tree property")
> Fixes: 92c3807b9ac3 ("net: stmmac: convert to phylink_get_linkmodes()")
> Signed-off-by: Chen-Yu Tsai <wens@csie.org>
> Acked-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
> ---
> 
> Resend2: CC Srinivas at Linaro instead of ST. Collected Russell's ack.
> Resend: added Srinivas (author of first fixed commit) to CC list.
> 
> This was first noticed on ROC-RK3399-PC, and also observed on ROC-RK3328-CC.
> The fix was tested on ROC-RK3328-CC and Libre Computer ALL-H5-ALL-CC.

This patch got marked Changes Requested in pw, but I can't see why, 
so I went on a limb and applied it. LMK if that was a mistake,
otherwise its commit c21cabb0fd0b ("net: stmmac: Fix unset max_speed
difference between DT and non-DT platforms") in net.
Chen-Yu Tsai April 2, 2022, 5 a.m. UTC | #4
On Sat, Apr 2, 2022 at 12:42 PM Jakub Kicinski <kuba@kernel.org> wrote:
>
> On Fri,  1 Apr 2022 02:48:32 +0800 Chen-Yu Tsai wrote:
> > From: Chen-Yu Tsai <wens@csie.org>
> >
> > In commit 9cbadf094d9d ("net: stmmac: support max-speed device tree
> > property"), when DT platforms don't set "max-speed", max_speed is set to
> > -1; for non-DT platforms, it stays the default 0.
> >
> > Prior to commit eeef2f6b9f6e ("net: stmmac: Start adding phylink support"),
> > the check for a valid max_speed setting was to check if it was greater
> > than zero. This commit got it right, but subsequent patches just checked
> > for non-zero, which is incorrect for DT platforms.
> >
> > In commit 92c3807b9ac3 ("net: stmmac: convert to phylink_get_linkmodes()")
> > the conversion switched completely to checking for non-zero value as a
> > valid value, which caused 1000base-T to stop getting advertised by
> > default.
> >
> > Instead of trying to fix all the checks, simply leave max_speed alone if
> > DT property parsing fails.
> >
> > Fixes: 9cbadf094d9d ("net: stmmac: support max-speed device tree property")
> > Fixes: 92c3807b9ac3 ("net: stmmac: convert to phylink_get_linkmodes()")
> > Signed-off-by: Chen-Yu Tsai <wens@csie.org>
> > Acked-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
> > ---
> >
> > Resend2: CC Srinivas at Linaro instead of ST. Collected Russell's ack.
> > Resend: added Srinivas (author of first fixed commit) to CC list.
> >
> > This was first noticed on ROC-RK3399-PC, and also observed on ROC-RK3328-CC.
> > The fix was tested on ROC-RK3328-CC and Libre Computer ALL-H5-ALL-CC.
>
> This patch got marked Changes Requested in pw, but I can't see why,
> so I went on a limb and applied it. LMK if that was a mistake,
> otherwise its commit c21cabb0fd0b ("net: stmmac: Fix unset max_speed
> difference between DT and non-DT platforms") in net.

I don't remember anyone asking for any changes.

Thanks
ChenYu
diff mbox series

Patch

diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
index 5d29f336315b..11e1055e8260 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
@@ -431,8 +431,7 @@  stmmac_probe_config_dt(struct platform_device *pdev, u8 *mac)
 	plat->phylink_node = np;
 
 	/* Get max speed of operation from device tree */
-	if (of_property_read_u32(np, "max-speed", &plat->max_speed))
-		plat->max_speed = -1;
+	of_property_read_u32(np, "max-speed", &plat->max_speed);
 
 	plat->bus_id = of_alias_get_id(np, "ethernet");
 	if (plat->bus_id < 0)