> 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