diff mbox series

[net-next,13/13] net: dsa: lantiq_gswip: Improve error message in gswip_port_fdb()

Message ID 20240606085234.565551-14-ms@dev.tdt.de (mailing list archive)
State Superseded
Delegated to: Netdev Maintainers
Headers show
Series net: dsa: lantiq_gswip: code improvements | expand

Checks

Context Check Description
netdev/series_format success Posting correctly formatted
netdev/tree_selection success Clearly marked for net-next
netdev/ynl success Generated files up to date; no warnings/errors; no diff in generated;
netdev/fixes_present success Fixes tag not required for -next series
netdev/header_inline success No static functions without inline keyword in header files
netdev/build_32bit success Errors and warnings before: 901 this patch: 901
netdev/build_tools success No tools touched, skip
netdev/cc_maintainers success CCed 8 of 8 maintainers
netdev/build_clang success Errors and warnings before: 905 this patch: 905
netdev/verify_signedoff success Signed-off-by tag matches author and committer
netdev/deprecated_api success None detected
netdev/check_selftest success No net selftest shell script
netdev/verify_fixes success No Fixes tag
netdev/build_allmodconfig_warn success Errors and warnings before: 905 this patch: 905
netdev/checkpatch success total: 0 errors, 0 warnings, 0 checks, 9 lines checked
netdev/build_clang_rust success No Rust files in patch. Skipping build
netdev/kdoc success Errors and warnings before: 0 this patch: 0
netdev/source_inline success Was 0 now: 0
netdev/contest success net-next-2024-06-07--09-00 (tests: 1041)

Commit Message

Martin Schiller June 6, 2024, 8:52 a.m. UTC
From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>

Print the port which is not found to be part of a bridge so it's easier
to investigate the underlying issue.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
---
 drivers/net/dsa/lantiq_gswip.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Vladimir Oltean June 7, 2024, 11:41 a.m. UTC | #1
On Thu, Jun 06, 2024 at 10:52:34AM +0200, Martin Schiller wrote:
> From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
> 
> Print the port which is not found to be part of a bridge so it's easier
> to investigate the underlying issue.

Was there an actual issue which was investigated here? More details?

> Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
> ---
>  drivers/net/dsa/lantiq_gswip.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/dsa/lantiq_gswip.c b/drivers/net/dsa/lantiq_gswip.c
> index 4bb894e75b81..69035598e8a4 100644
> --- a/drivers/net/dsa/lantiq_gswip.c
> +++ b/drivers/net/dsa/lantiq_gswip.c
> @@ -1377,7 +1377,8 @@ static int gswip_port_fdb(struct dsa_switch *ds, int port,
>  	}
>  
>  	if (fid == -1) {
> -		dev_err(priv->dev, "Port not part of a bridge\n");
> +		dev_err(priv->dev,
> +			"Port %d is not known to be part of bridge\n", port);
>  		return -EINVAL;
>  	}

Actually I would argue this is entirely confusing. There is an earlier
check:

	if (!bridge)
		return -EINVAL;

which did _not_ trigger if we're executing this. So the port _is_ a part
of a bridge. Just say that no FID is found for bridge %s (bridge->name),
which technically _is_ what happened.
Martin Schiller June 7, 2024, 1:51 p.m. UTC | #2
On 2024-06-07 13:41, Vladimir Oltean wrote:
> On Thu, Jun 06, 2024 at 10:52:34AM +0200, Martin Schiller wrote:
>> From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
>> 
>> Print the port which is not found to be part of a bridge so it's 
>> easier
>> to investigate the underlying issue.
> 
> Was there an actual issue which was investigated here? More details?

Well, there are probably still several problems with this driver. Martin
Blumenstingl is probably referring to the problem discussed in [1] and 
[2].

[1] https://github.com/openwrt/openwrt/pull/13200
[2] https://github.com/openwrt/openwrt/pull/13638

> 
>> Signed-off-by: Martin Blumenstingl 
>> <martin.blumenstingl@googlemail.com>
>> ---
>>  drivers/net/dsa/lantiq_gswip.c | 3 ++-
>>  1 file changed, 2 insertions(+), 1 deletion(-)
>> 
>> diff --git a/drivers/net/dsa/lantiq_gswip.c 
>> b/drivers/net/dsa/lantiq_gswip.c
>> index 4bb894e75b81..69035598e8a4 100644
>> --- a/drivers/net/dsa/lantiq_gswip.c
>> +++ b/drivers/net/dsa/lantiq_gswip.c
>> @@ -1377,7 +1377,8 @@ static int gswip_port_fdb(struct dsa_switch *ds, 
>> int port,
>>  	}
>> 
>>  	if (fid == -1) {
>> -		dev_err(priv->dev, "Port not part of a bridge\n");
>> +		dev_err(priv->dev,
>> +			"Port %d is not known to be part of bridge\n", port);
>>  		return -EINVAL;
>>  	}
> 
> Actually I would argue this is entirely confusing. There is an earlier
> check:
> 
> 	if (!bridge)
> 		return -EINVAL;
> 
> which did _not_ trigger if we're executing this. So the port _is_ a 
> part
> of a bridge. Just say that no FID is found for bridge %s 
> (bridge->name),
> which technically _is_ what happened.

Yes, you are right. I'll change that.
Vladimir Oltean June 7, 2024, 1:53 p.m. UTC | #3
On Fri, Jun 07, 2024 at 03:51:19PM +0200, Martin Schiller wrote:
> On 2024-06-07 13:41, Vladimir Oltean wrote:
> > On Thu, Jun 06, 2024 at 10:52:34AM +0200, Martin Schiller wrote:
> > > From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
> > > 
> > > Print the port which is not found to be part of a bridge so it's
> > > easier
> > > to investigate the underlying issue.
> > 
> > Was there an actual issue which was investigated here? More details?
> 
> Well, there are probably still several problems with this driver. Martin
> Blumenstingl is probably referring to the problem discussed in [1] and [2].
> 
> [1] https://github.com/openwrt/openwrt/pull/13200
> [2] https://github.com/openwrt/openwrt/pull/13638

Ok, but that doesn't technically exercise this error path.
diff mbox series

Patch

diff --git a/drivers/net/dsa/lantiq_gswip.c b/drivers/net/dsa/lantiq_gswip.c
index 4bb894e75b81..69035598e8a4 100644
--- a/drivers/net/dsa/lantiq_gswip.c
+++ b/drivers/net/dsa/lantiq_gswip.c
@@ -1377,7 +1377,8 @@  static int gswip_port_fdb(struct dsa_switch *ds, int port,
 	}
 
 	if (fid == -1) {
-		dev_err(priv->dev, "Port not part of a bridge\n");
+		dev_err(priv->dev,
+			"Port %d is not known to be part of bridge\n", port);
 		return -EINVAL;
 	}