2023-06-06 15:33:05

by Maxime Chevallier

[permalink] [raw]
Subject: [PATCH net-next v3 1/5] net: altera-tse: Initialize the regmap_config struct before using it

The regmap_config needs to be zeroed before using it. This will cause
spurious errors at probe time as config->pad_bits is containing random
uninitialized data.

Fixes: db48abbaa18e ("net: ethernet: altera-tse: Convert to mdio-regmap and use PCS Lynx")
Signed-off-by: Maxime Chevallier <[email protected]>
---
V2->V3 : No changes
V1->V2 : No changes

drivers/net/ethernet/altera/altera_tse_main.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/net/ethernet/altera/altera_tse_main.c b/drivers/net/ethernet/altera/altera_tse_main.c
index d866c0f1b503..df509abcd378 100644
--- a/drivers/net/ethernet/altera/altera_tse_main.c
+++ b/drivers/net/ethernet/altera/altera_tse_main.c
@@ -1255,6 +1255,7 @@ static int altera_tse_probe(struct platform_device *pdev)
if (ret)
goto err_free_netdev;

+ memset(&pcs_regmap_cfg, 0, sizeof(pcs_regmap_cfg));
/* SGMII PCS address space. The location can vary depending on how the
* IP is integrated. We can have a resource dedicated to it at a specific
* address space, but if it's not the case, we fallback to the mdiophy0
--
2.40.1



2023-06-06 17:36:36

by Maciej Fijalkowski

[permalink] [raw]
Subject: Re: [PATCH net-next v3 1/5] net: altera-tse: Initialize the regmap_config struct before using it

On Tue, Jun 06, 2023 at 05:24:57PM +0200, Maxime Chevallier wrote:
> The regmap_config needs to be zeroed before using it. This will cause
> spurious errors at probe time as config->pad_bits is containing random
> uninitialized data.
>
> Fixes: db48abbaa18e ("net: ethernet: altera-tse: Convert to mdio-regmap and use PCS Lynx")
> Signed-off-by: Maxime Chevallier <[email protected]>
> ---
> V2->V3 : No changes
> V1->V2 : No changes
>
> drivers/net/ethernet/altera/altera_tse_main.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/net/ethernet/altera/altera_tse_main.c b/drivers/net/ethernet/altera/altera_tse_main.c
> index d866c0f1b503..df509abcd378 100644
> --- a/drivers/net/ethernet/altera/altera_tse_main.c
> +++ b/drivers/net/ethernet/altera/altera_tse_main.c
> @@ -1255,6 +1255,7 @@ static int altera_tse_probe(struct platform_device *pdev)
> if (ret)
> goto err_free_netdev;
>
> + memset(&pcs_regmap_cfg, 0, sizeof(pcs_regmap_cfg));

i think it would be good to zero out mrc as well - in future someone might
expand this struct and you will have the same bug as you're fixing here.

> /* SGMII PCS address space. The location can vary depending on how the
> * IP is integrated. We can have a resource dedicated to it at a specific
> * address space, but if it's not the case, we fallback to the mdiophy0
> --
> 2.40.1
>
>