From: Ilia Sergachev <silia@xxxxxxx> commit 0f55f89d98c8b3e12b4f55f71c127a173e29557c upstream. drvdata has to be set in _probe() - otherwise platform_get_drvdata() causes null pointer dereference BUG in _remove(). Fixes: 1da81e5562fa ("drivers/tty/serial: add LiteUART driver") Cc: stable <stable@xxxxxxxxxxxxxxx> Reviewed-by: Johan Hovold <johan@xxxxxxxxxx> Signed-off-by: Ilia Sergachev <silia@xxxxxxx> Link: https://lore.kernel.org/r/20211115224944.23f8c12b@dtkw Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/tty/serial/liteuart.c | 2 ++ 1 file changed, 2 insertions(+) --- a/drivers/tty/serial/liteuart.c +++ b/drivers/tty/serial/liteuart.c @@ -285,6 +285,8 @@ static int liteuart_probe(struct platfor port->line = dev_id; spin_lock_init(&port->lock); + platform_set_drvdata(pdev, port); + return uart_add_one_port(&liteuart_driver, &uart->port); }