diff --git a/drivers/usb/gadget/function/f_cdev.c b/drivers/usb/gadget/function/f_cdev.c index 31ec75fed944..0e300b12979e 100644 --- a/drivers/usb/gadget/function/f_cdev.c +++ b/drivers/usb/gadget/function/f_cdev.c @@ -1556,8 +1556,10 @@ int usb_cser_connect(struct f_cdev *port) void usb_cser_disconnect(struct f_cdev *port) { + struct cserial *cser; unsigned long flags; + cser = &port->port_usb; usb_cser_stop_io(port); /* lower DTR to modem */ @@ -1565,6 +1567,7 @@ void usb_cser_disconnect(struct f_cdev *port) spin_lock_irqsave(&port->port_lock, flags); port->is_connected = false; + cser->notify_modem = NULL; port->nbytes_from_host = port->nbytes_to_host = 0; port->nbytes_to_port_bridge = 0; spin_unlock_irqrestore(&port->port_lock, flags);