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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> On 02/21/2022 11:59 PM Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx> 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 <pavel@xxxxxxx>
> Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx>
> ---
>  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 <uli+renesas@xxxxxxxx>

CU
Uli



[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux