On 09/13/2018, 08:32 AM, chen.lin5@xxxxxxxxxx wrote: > > > but 'get_mctrl' is already protected by the upper layer by spin lock, > so, will the races happen? > > > for example: in /drivers/tty/serial/serial_core.c > > spin_lock_irq(&uport->lock); > > result |= uport->ops->get_mctrl(uport); > > spin_unlock_irq(&uport->lock); Right, but creation and destroy of the workqueue is not locked as far as I can see. Am I missing something? thanks,. -- js suse labs