--- a/drivers/tty/n_gsm.c +++ n/drivers/tty/n_gsm.c @@ -3016,7 +3016,7 @@ static ssize_t gsmld_write(struct tty_st int space; int ret; - if (!gsm) + if (!gsm || gsm->dead || !gsm->receive) return -ENODEV; ret = -ENOBUFS;