2022-02-22 05:23:40

by Prabhakar Mahadev Lad

[permalink] [raw]
Subject: [PATCH] can: rcar_canfd: Register the CAN device when fully ready

Register the CAN device only when all the necessary initialization
is completed. This patch makes sure all the data structures and locks are
initialized before registering the CAN device.

Reported-by: Pavel Machek <[email protected]>
Signed-off-by: Lad Prabhakar <[email protected]>
---
drivers/net/can/rcar/rcar_canfd.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/can/rcar/rcar_canfd.c b/drivers/net/can/rcar/rcar_canfd.c
index 3ad3a6f6a1dd..8c378b20b2aa 100644
--- a/drivers/net/can/rcar/rcar_canfd.c
+++ b/drivers/net/can/rcar/rcar_canfd.c
@@ -1783,15 +1783,15 @@ static int rcar_canfd_channel_probe(struct rcar_canfd_global *gpriv, u32 ch,

netif_napi_add(ndev, &priv->napi, rcar_canfd_rx_poll,
RCANFD_NAPI_WEIGHT);
+ spin_lock_init(&priv->tx_lock);
+ devm_can_led_init(ndev);
+ gpriv->ch[priv->channel] = priv;
err = register_candev(ndev);
if (err) {
dev_err(&pdev->dev,
"register_candev() failed, error %d\n", err);
goto fail_candev;
}
- spin_lock_init(&priv->tx_lock);
- devm_can_led_init(ndev);
- gpriv->ch[priv->channel] = priv;
dev_info(&pdev->dev, "device registered (channel %u)\n", priv->channel);
return 0;

--
2.17.1


2022-02-22 10:02:09

by Ulrich Hecht

[permalink] [raw]
Subject: Re: [PATCH] can: rcar_canfd: Register the CAN device when fully ready


> On 02/21/2022 11:59 PM Lad Prabhakar <[email protected]> wrote:
>
>
> Register the CAN device only when all the necessary initialization
> is completed. This patch makes sure all the data structures and locks are
> initialized before registering the CAN device.
>
> Reported-by: Pavel Machek <[email protected]>
> Signed-off-by: Lad Prabhakar <[email protected]>
> ---
> drivers/net/can/rcar/rcar_canfd.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/can/rcar/rcar_canfd.c b/drivers/net/can/rcar/rcar_canfd.c
> index 3ad3a6f6a1dd..8c378b20b2aa 100644
> --- a/drivers/net/can/rcar/rcar_canfd.c
> +++ b/drivers/net/can/rcar/rcar_canfd.c
> @@ -1783,15 +1783,15 @@ static int rcar_canfd_channel_probe(struct rcar_canfd_global *gpriv, u32 ch,
>
> netif_napi_add(ndev, &priv->napi, rcar_canfd_rx_poll,
> RCANFD_NAPI_WEIGHT);
> + spin_lock_init(&priv->tx_lock);
> + devm_can_led_init(ndev);
> + gpriv->ch[priv->channel] = priv;
> err = register_candev(ndev);
> if (err) {
> dev_err(&pdev->dev,
> "register_candev() failed, error %d\n", err);
> goto fail_candev;
> }
> - spin_lock_init(&priv->tx_lock);
> - devm_can_led_init(ndev);
> - gpriv->ch[priv->channel] = priv;
> dev_info(&pdev->dev, "device registered (channel %u)\n", priv->channel);
> return 0;
>
> --
> 2.17.1

Reviewed-by: Ulrich Hecht <[email protected]>

CU
Uli

2022-02-22 14:03:03

by Pavel Machek

[permalink] [raw]
Subject: Re: [PATCH] can: rcar_canfd: Register the CAN device when fully ready

On Mon 2022-02-21 22:59:35, Lad Prabhakar wrote:
> Register the CAN device only when all the necessary initialization
> is completed. This patch makes sure all the data structures and locks are
> initialized before registering the CAN device.

Reviewed-by: Pavel Machek <[email protected]>

I guess it will go to mainline and then -stable so that we don't have
to do anything special?

Best regards,

Pavel
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany


Attachments:
(No filename) (571.00 B)
signature.asc (201.00 B)
Download all attachments

2022-02-22 17:05:51

by Marc Kleine-Budde

[permalink] [raw]
Subject: Re: [PATCH] can: rcar_canfd: Register the CAN device when fully ready

On 22.02.2022 14:43:58, Pavel Machek wrote:
> On Mon 2022-02-21 22:59:35, Lad Prabhakar wrote:
> > Register the CAN device only when all the necessary initialization
> > is completed. This patch makes sure all the data structures and locks are
> > initialized before registering the CAN device.
>
> Reviewed-by: Pavel Machek <[email protected]>
>
> I guess it will go to mainline and then -stable so that we don't have
> to do anything special?

ACK

Marc

--
Pengutronix e.K. | Marc Kleine-Budde |
Embedded Linux | https://www.pengutronix.de |
Vertretung West/Dortmund | Phone: +49-231-2826-924 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |


Attachments:
(No filename) (739.00 B)
signature.asc (499.00 B)
Download all attachments

2022-02-26 02:27:49

by Marc Kleine-Budde

[permalink] [raw]
Subject: Re: [PATCH] can: rcar_canfd: Register the CAN device when fully ready

On 21.02.2022 22:59:35, Lad Prabhakar wrote:
> Register the CAN device only when all the necessary initialization
> is completed. This patch makes sure all the data structures and locks are
> initialized before registering the CAN device.

Applied to can/testing.

Thanks,
Marc

--
Pengutronix e.K. | Marc Kleine-Budde |
Embedded Linux | https://www.pengutronix.de |
Vertretung West/Dortmund | Phone: +49-231-2826-924 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |


Attachments:
(No filename) (558.00 B)
signature.asc (499.00 B)
Download all attachments