Hi Sherry, On Mon, Apr 26, 2021 at 8:39 AM Sherry Sun <sherry.sun@xxxxxxx> wrote: > > > + if (!sdata) > > > + return -ENODEV; > > > > How can sdata be NULL? > > Is it possible that a case forgot to set sdata? Then the value will be NULL, such as { .compatible = "fsl,imx8qxp-lpuart", }. > So I added the patch to avoid the kernel crash when run to sdata->reg_off directly. But I am not sure does it make sense. sdata comes directly from of_device_get_match_data(). This driver only runs on DT platforms and the only way of being probed is when a compatible string matches, so it is not possible that sdata can be NULL.